2010-10-10 58 views
58

我认为shell脚本中的句柄[email protected]是给脚本的所有参数的数组。这是真的?

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

+3

[您现在可以进行搜索(http://symbolhound.com/?q=bash+%24%40)。 – l0b0 2012-04-03 14:39:08

+4

你应该把'man bash'这样的东西变成grep,并且-C参数设置为合理的东西,这是一个非常有用的技巧 – djdanlib 2012-04-03 14:41:13

+0

在这个问题出现2年后,问题链接了(这个问题是重复的)。难道这个问题不应该是这个问题的重复,而不是相反? – mgarey 2017-08-24 16:01:30

回答

55

是的。请参阅man page of bash下特殊参数(你第一次去的东西)

特殊参数

shell对几个参数进行特别处理。这些参数只能被引用;不允许分配给他们。

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

@从1开始扩展到位置参数。当扩展出现在双引号内时,每个参数都会扩展为单独的单词。即,"[email protected]"相当于"$1""$2" ...如果双引号扩展发生在一个单词内,则第一个参数的扩展与原始单词的开始部分连接,并且最后一个参数的扩展与原始单词的最后部分。当没有位置参数时,"[email protected]"[email protected]展开为空(即,它们被移除)。

+27

哦,男孩,不错,它只有5000行;) – vecvan 2010-10-10 02:27:12

+8

像djanlib说:使用像'男人bash | grep -C2'$ @'' – cmbuckley 2012-04-03 15:01:36

+42

@vecvan阅读之前的问题人数bash:1 ... 阅读之后的问题人数bash:12,031 – FloatingRock 2014-10-29 16:05:22