shell 中经常看见一些特殊的参数,有时不知道他们是什么意思,下面这里就给大家详细的解释一下,各个参数的意义。
特殊参数
1、($*)表示位置参数,从1开始,"$*"就等价于 "铮喘饿怊$1c$2c…",注意:"$*"使用时作为一个字符串$*使用时作为各个独立的参数
2、$@也表示位置参数,从1开始。"$@"等价于"挢旗扦渌;$1" "$2" …"$@"和 $@ 等价没有区别
3、$?表示shell命令或者脚本执行结果返回的状态。0默认是正确的
4、$#表示命令行参数的个数。如图
5、$-使用Set命令设定的Flag一览,可查看是否属于交互模式如图
6、$$表示当前的进程ID。如果是子shell,显示的还是交互模式下的进程ID。
7、$!表示Shell最后运行的后台Process的PID。如图
8、$0Shell本身的文件名。如图
9、$_在shell启动时,在交互式shell里设置全路径名,在脚本里传递传递环境变量和参数列表。随后,将前面一个命令的最后一个参数扩展