变量定义:declare varName
变量赋值: varName=值
变量值引用: $varName
导出变量: export varName[=value]
撤销变量: unset varName
特殊变量:
$?: 返回上一条命令的状态返回值
$1,$2... $9: 位置变量,第10个变量需要这样引用 ${10}
$#: 脚本传入的所有参数个数
$*,$@: 返回脚本传入的所有参数
1. $# 传递到脚本的参数个数
2. $* 以一个单字符串显示所有向脚本传递的参数变量。与位置变量不同,此选项参数可超过9个
3. $$ 脚本运行的当前进程ID号
4. $! 后台运行的最后一个进程的进程ID号
5. $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数
6. $- 显示shell使用的当前选项,与set命令功能相同
7. $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误
8. $()里面放命令,可以在脚本中执行该命令,并返回命令执行的输出.
使用格式:
test EXPR
[ EXPR ]
[[ EXPR ]]
标准输入: 0 默认设备为键盘
标准输出: 1 默认设备为显示器
标准错误输出: 2 默认设备为显示器
>: 覆盖输出
&>: 错误覆盖输出
>> : 追加输出
&>>: 错误覆盖输出
&>: 合并重定向
<: 输入重定向
<<: 此处文档
tee: 分流,将结果输出到屏幕并重定向
条件判断 | |||
语法格式 | 示例 | ||
单分支if语句 if 语句1;then 语句1执行结果为真则执行 else 语句1执行结果为假则执行 fi
|
|
多分支if语句 if 语句1;then 语句1执行结果为真则执行 elif 语句2;then 语句2执行结果为真则执行 ... else 所有条件都不满足时执行 fi
|
|
循环结构 | |||
for varName in LIST;do 循环体 done |
| ||
for ((var=#;测试条件;修正条件));do 循环体 done |
| ||
while 条件语句;do #条件为真时进入循环 循环体 done |
| ||
until 条件语句;do 循环体 done |
| ||
条件选择 | |||
case $varName in exp1) 语句体1 ;; exp2) 语句体 2 ;; ... *) 语句体 n ;; |
|