前面讲到了 $n,它是特殊变量的一种,用来接收位置参数。下面将继续讲解剩下的几个特殊变量,它们分别是:$#、$*、$@、$?、$$。
Shell 特殊变量及其含义
变量 |
含义 |
$0 |
当前脚本的文件名。 |
$n(n≥1 |
传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1,第二个参数是 $2。 |
$# |
传递给脚本或函数的参数个数。 |
$* |
传递给脚本或函数的所有参数。 |
$@ |
传递给脚本或函数的所有参数。当被双引号" "包含时,$@ 与 $* 稍有不同,将在”Shell $*和$@的区别“一节中详细讲解。 |
$? |
上个命令的退出状态,或函数的返回值,我们将在"Shell $?" 一节中详细讲解。 |
$$ |
当前 Shell 进程 ID。对于 Shell 脚本,就是这些脚本所在的进程 ID。 |
下面通过两个例子来演示。
1) 给脚本文件传递参数
编写下面的代码,并保存为 test.sh: