shell中$*与$@的区别

$*所有的位置参数,被作为一个单词

注意:"$*"必须被""引用

$@ 与$*同义,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整的传递,被没有被解释和扩展,这也意味着每个参数列表中的每个参数都被当成一个独立的单词。

注意:"$@"必须被引用。

$@,$*只在被双引号包起来的时候才会有差异。

双引号括起来的情况:

$*将所有的参数认为是一个字段.

$@以IFS(默认为空格)来划分字段,如果空格在 “”里面则不不划分。

原文地址:https://www.cnblogs.com/Commence/p/7470559.html