一、定义
将某条命令或许多条命令按照某种规则执行结束。
二、规范
2.1 调用解释器
#!/bin/bash #调用bash解释器 #!/usr/bin/expect #调用expect解释器
2.2 执行方式
- 路径执行:需要有执行权限方可执行
- 解释器执行:不需要权限也可执行
2.3 脚本错误
- 命令错误:不会影响接下来的命令执行
- 语法错误:会影响到接下来的命令执行
- 逻辑错误:需手动排查故障(bash -x 脚本)
三、脚本构成
3.1 变量
3.1.1 内置变量
- $PATH :可执行命令的默认路径
- $UID :当前用户UID号
- $HOSTNAME :当前用户主机名
- $USER :当前用户名
3.1.2 预定义变量
- $? :返回上次命令执行状态(0:成功;非0:失败)
- $0 :代指当前脚本本身
- $* :将脚本变量作为整体返回
- $@ :将脚本变量作为个体返回
- $# :脚本后变量的总个数
3.1.3 位置/环境/只读/自定义变量
- 位置变量:命令后方对应位置所对应的变量
- 环境变量:在所有bash环境中都能适用的变量
- 只读变量:只能读取,无法更改的变量
- 自定义变量:自行设定变量名的变量
3.2 变量赋值
- 同样的变量,同样的值,通过不同的符号,变量获取的值是不同的
形式 | 作用 |
变量=`命令` | 将命令执行的结果作为值赋予变量 |
变量=$(命令) | 将命令执行的结果作为值赋予变量 |
变量2=“变量1” | 可识别变量1的值,并将变量1的值赋予变量2 |
变量2=‘变量1’ | 无法识别变量1的值,会将变量1本身字符作为值赋予变量2 |
变量2={变量1} | 能够精确定位变量1的字符范围,防止出现逻辑错误 |
read -p “提示字符” 变量 | 将标准输入的值赋予变量 |
3.3 特殊符号
3.3.1 连接符
- -a :连接符且
- && :连接符且
- -o :连接符或
- || :连接符或
3.3.2 重定向
- > :重定向输入
- < :重定向输出
- >> :重定向追加输入
3.3.3 管道符
- | :管道符,将左边命令的结果作为右边命令的参数
3.4 数学运算
- [ ] :可执行简单的数学运算
- (( )) :可执行简单的数学运算
- expr :可执行简单的数学运算
- let :可执行简单的数学运算
- 简单的数学运算:加 + ;减 - ;乘 \* ;除 / ;求余 % ;大小比较
四、思维导图