Bash中的$ @是什么?

我认为shell脚本中的句柄$@是给脚本的所有参数的数组。 这是真的?

我问,因为我通常使用search引擎来收集信息,但我不能谷歌$@ ,我已经习惯了太容易获得服务的一切。

是。 请参阅特殊参数下的bash的手册页(首先进行的操作)

特殊参数

shell专门处理几个参数。 这些参数只能被引用; 不允许分配给他们。

*从一个开始扩展到位置参数。 当扩展出现在双引号内时,扩展为单个字,每个参数的值由IFS特殊variables的第一个字符分隔。 也就是说, "$*"相当于"$1c$2c..." ,其中c是IFSvariables值的第一个字符。 如果IFS未设置,则参数由空格分隔。 如果IFS为空,则参数在不插入分隔符的情况下进行连接。

@从一个开始扩展到位置参数。 当扩展出现在双引号内时,每个参数将扩展为一个单独的单词。 也就是说, "$@"相当于"$1" "$2" …如果双引号扩展出现在一个单词内,则第一个参数的扩展与原始单词的开始部分相连,最后一个参数的最后一部分与原始单词连接。 当没有位置参数时, "$@"$@展开为空(即,它们被移除)。

只是从阅读我不会理解"$@"扩展到一个单独的参数列表。 而"$*"是由所有参数加在一起组成的一个参数。

如果这样做仍然没有意义。

http://www.thegeekstuff.com/2010/05/bash-shell-special-parameters/