shell脚本规范与变量运用-创新互联
前言
随着Linux系统在企业中应用的越来越多,服务器自动化管理也变得越来越重要。Linux服务器自动化维护工作中,除了计划任务的设置外,shell脚本的应用也是非常重要的一部分。
什么是shell脚本
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
shell脚本的应用场景:
- 重复性操作
- 批量事务处理
- 自动化运维
- 服务运行状态监控
- 定时任务执行
- ......
注意!shell脚本必须是可执行文件(chmod +x ...)
shell的作用——命令解释器,翻译官
/bin/bash支撑shell脚本的运行
Linux压缩内核放在/boot/目录下
编写shell脚本代码 - 使用vi文本编辑器
- 每行一条Linux命令,按执行顺序一次编写
执行脚本文件啊
用source执行命令会切换路径执行,用sh 不会切换路径
“ . / ” 的执行方式和sh一样
重定向与管道操作
交互式硬件设备
标准输入:从该设备接收用户输入的数据
标准输出:通过该设备向用户输出数据
标准错误:通过该设备报告执行出错信息
重定向操作
管道操作符号" | "
Shell变量的作用、类型
变量的作用
为灵活管理Linux系统提供特定参数,有两层意思 - 变量名:使用固定的名称,由系统预设或用户定义
变量值:能够根据用户设置、系统环境的变化而变化
变量的类型- 自定义变量:由用户自己定义、修改和使用
- 环境变量:由系统维护,用于设置工作环境
- 位置变量:通过命令行给脚本程序传递参数
- 预定义变量:Bash中内置的一类变量,不能直接修改
自定义变量
定义一个新的变量
变量名以字母或下划线开头,区分大小写,建议全大写
变量名=变量值(“=”赋予符号)
查看变量的值,用“echo”命令
赋值时使用引号
- 双引号:允许通过$符号引用其他变量值
- 单引号:禁止引用其他变量值,$视为普通字符
- 反撇号:命令替换,提取命令执行后的输出结果
从键盘输入内容为变量赋值read [-p "提示信息"] 变量名
设置变量的作用范围,两种格式可以混合使用
格式1:export 变量名
格式2:export 变量名=变量值
整数变量的运算
expr 变量1 运算符 变量2 [运算符 变量3] ……
常用运算符
- 加法运算:+
- 减法运算:-
- 乘法运算:*
- 除法运算:/
- 求模(取余)运算:%
特殊的Shell变量
环境变量
由系统提前创建,用来设置用户的工作环境
配置文件:/etc/profile、~/.bash_profile
常见的环境变量: - PWD、PATH
- USER、SHELL、HOME
位置变量 - 表示为$n,n为1~9之间的数字
预定义变量 - $#:命令行中位置变量的个数
- $*:所有位置变量的内容
- $?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错
- $0:当前执行的进程/程序名
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文名称:shell脚本规范与变量运用-创新互联
转载来于:http://azwzsj.com/article/dsgigh.html