shell处理特殊参数$* $@ $# $? $- $$ $! $0 $_

2025-09-27 13:03:52

1、($*) 

表示位置参数,从1开始,

 "$*" 就等价于 "$1c$2c…",

注意: "$*"使用时作为一个字符串

$*使用时作为各个独立的参数

shell处理特殊参数$* $@ $# $? $- $$ $! https://exp-picture.cdn.bcebos.com/94af5fc1b727ac53eb9f81982ecadce8914899af.jpg $_ $_" referrerPolicy="no-referrer" />

2、$@

也表示位置参数,从1开始。

 "$@"等价于"$1" "$2" …

"$@" 和 $@ 等价没有区别

shell处理特殊参数$* $@ $# $? $- $$ $! https://exp-picture.cdn.bcebos.com/906dbbcadce89048f2eb6743130e5f20427192af.jpg $_ $_" referrerPolicy="no-referrer" />

3、$?

表示shell命令或者脚本执行结果返回的状态。

0默认是正确的

shell处理特殊参数$* $@ $# $? $- $$ $! https://exp-picture.cdn.bcebos.com/5e615d715fdb3620402ddd3dabc5260f89358daf.jpg $_ $_" referrerPolicy="no-referrer" />

4、$#

表示命令行参数的个数。

如图

shell处理特殊参数$* $@ $# $? $- $$ $! https://exp-picture.cdn.bcebos.com/274e9635dd8a59de451f98b5b370d5413b8c84af.jpg $_ $_" referrerPolicy="no-referrer" />

5、$-

使用Set命令设定的Flag一览,

可查看是否属于交互模式

如图

shell处理特殊参数$* $@ $# $? $- $$ $! https://exp-picture.cdn.bcebos.com/89402670d5413a8ca310b5bb1ffc508c9ace81af.jpg $_ $_" referrerPolicy="no-referrer" />

6、$$

表示当前的进程ID。

如果是子shell,显示的还是交互模式下的进程ID。

shell处理特殊参数$* $@ $# $? $- $$ $! https://exp-picture.cdn.bcebos.com/a44e8afc508c9bcecde09ac3d6dd884ce44afaaf.jpg $_ $_" referrerPolicy="no-referrer" />

7、$!

表示Shell最后运行的后台Process的PID。

如图

shell处理特殊参数$* $@ $# $? $- $$ $! https://exp-picture.cdn.bcebos.com/5c9c964ce54a2f27f7f738b2e00192dd3240f4af.jpg $_ $_" referrerPolicy="no-referrer" />

8、$0

Shell本身的文件名。

如图 

shell处理特殊参数$* $@ $# $? $- $$ $! https://exp-picture.cdn.bcebos.com/6a408cdd3340b6f3879f13a812c0affce086eeaf.jpg $_ $_" referrerPolicy="no-referrer" />

9、$_

在shell启动时,在交互式shell里设置全路径名,在脚本里传递传递环境变量和参数列表。

随后,将前面一个命令的最后一个参数扩展

shell处理特殊参数$* $@ $# $? $- $$ $! https://exp-picture.cdn.bcebos.com/9881b1fce186242fb46a84ab35e434daf15ee8af.jpg $_ $_" referrerPolicy="no-referrer" />

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢