关于Shell脚本中的一些参数信息,是如何从命令中传递到脚本中去的?这就需要依赖于参数变量,常见的参数变量如下表所示:
变量 | 说明 |
---|---|
$# |
执行脚本传入参数个数 |
$* |
执行脚本传入参数列表 |
$$ |
执行脚本进程id |
$@ |
执行脚本传入所有参数 |
$0 |
执行脚本名称 |
$1 |
执行脚本第一个参数 |
$2 |
执行脚本第二个参数 |
$? |
脚本执行状态0正常,其他表示有错误 |
可以看到,其实$*
和$@
的结果应该是一样的。可以写一个Shell脚本来实际测试一下。脚本如下:
1 |
|
将这个文件命名为test.sh
,然后使用命令sh test.sh param1 param2 param3
来执行这个脚本,输出的结果如下:
1 | param number is : 3 |
可以看到完全符合预期。