2013-05-14 69 views

回答

2

[email protected]是傳遞的所有參數的值。

例如,如果傳遞:

./script A B C D 

然後「$ @」將等於"A" "B" "C" "D"

所以看起來目的是過時傳遞給腳本直接將所有參數java程序。

從bash的手冊:

@展開爲位置參數,從1開始。當 擴展出現在雙引號內時,每個參數 擴展爲單獨的單詞。也就是說,「$ @」相當於「$ 1」「$ 2」...如果在 字中出現雙引號擴展 ,則將第一個參數的擴展與原始單詞的開頭部分結合起來,並且 最後一個參數的擴展與原始單詞的最後一部分結合在一起。當沒有位置參數時,「$ @」和$ @將 擴展爲空(即,它們被移除)。

+0

更正您的示例,如您的報價中所示:'$ @'是特殊的,''@ @'''您的情況會擴展到'「A」「B」「C」「D」'。這與'$ *'不同,後者將擴展到'A B C D''。 – hyde 2013-05-14 06:31:43