bash脚本中的$*

art*_*rxe 8 bash scripting

任何人都能告诉我$*bash脚本中的意思吗?

我试图在谷歌搜索它,但我发现只有$0,$1等等.

所以,如果有这方面的链接,欢迎.

谢谢!

Mat*_*Mat 8

man页面:

* 从1开始扩展到位置参数.当扩展发生在双引号内时,它会扩展为单个单词,每个参数的值由IFS特殊变量的第一个字符分隔.也就是说," $*"相当于" $1c $2c ...",其中c是IFS变量值的第一个字符.如果未设置IFS,则参数由空格分隔.如果IFS为null,则连接参数时不会插入分隔符.

因此它等同于所有位置参数,具有略微不同的语义,具体取决于它是否在引号中.


ann*_*sly 5

看这个页面:

http://tldp.org/LDP/abs/html/internalvariables.html#IFSEMPTY

$ IFS为空时$*和$ @的行为取决于运行哪个Bash或sh版本.因此,不建议在脚本中依赖此"特征".