set -e: 执行的时候如果出现了返回值为非零,整个脚本就会立即退出
set +e: 执行的时候如果出现了返回值为非零,将会继续执行下面的脚本
set -u: 执行的时候如果遇到不存在的变量,会报错并停止执行
cmd1 ; cmd2 | cmd1 和 cmd2 都会 被执行 |
cmd1 && cmd2 | 如果 cmd1 执行 成功 则执行 cmd2 |
cmd1 || cmd2 | 如果 cmd1 执行 失败 则执行 cmd2 |
变量 | 含义 |
$0 | 当前脚本的文件名 |
$n | 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2 |
$# | 传递给脚本或函数的参数个数 |
$* | 传递给脚本或函数的所有参数。被双引号(" ")包含时,会将所有的参数作为一个整体 |
$@ | 传递给脚本或函数的所有参数。被双引号(" ")包含时,会将各个参数分开 |
$? | 上个命令的退出状态,或函数的返回值 |
$$ | 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID |