变量作用表
变量 | 作用 |
---|---|
$0 | 当前脚本的文件名。 |
$n | 第n个参数。n 是一个数字。如:第一个参数是$1,第二个参数是$2。 |
$# | 参数的个数。 |
$* | 传递给脚本或函数的所有参数。 |
[email protected] | 传递给脚本或函数的所有参数。被双引号 " " 括住时,与 $* 稍有不同。 |
$? | 上个命令的退出状态,或函数的返回值。 |
$$ | 当前Shell进程ID。(脚本所在的进程ID) |
$! | 执行上一个后台指令的PID(后台运行的最后一个进程的进程ID) |
$* 和 [email protected] 的区别
$*
和
[email protected]
都表示传递给函数或脚本的所有参数,不被双引号 " " 括住时,都以
"$1" "$2" … "$n"
的形式输出所有参数。但是当它们被双引号 " " 括住时,
"$*"
会将所有的参数作为一个整体输出,即以
"$1 $2 … $n"
的形式输出所有参数。
"[email protected]"
会将各个参数分开输出,以
"$1" "$2" … "$n"
的形式。
退出状态
$?
可以获取上一个命令的退出状态,所谓退出状态就是上一个命令执行后的返回结果。退出状态是一个数字,一般情况下,大部分命令执行成功会返回 0,失败返回 1。不过,也有一些命令返回其他值,表示不同类型的错误。