2012-02-23 37 views
2

我是新來的bash腳本,我遇到了代碼中的幾個$**(不是雙引號)。我對他們的理解是,除了所提及的那些外,他們都支持所有其他可能性。例如

echo "$1" 
$* 

如果輸入線

A B C D E F 

然後$*這裏代表B-F。我對嗎?

也爲*,它經常被發現在case。它在C中用作else,對吧?

回答

3

$*是作爲單詞傳遞給腳本的每個參數。它通常是錯誤的。 "[email protected]"幾乎總是首選,因爲即使由多個單詞組成,它仍將每個參數保留在一起。

*是一個glob通配符,表示「匹配任何內容」(在大多數情況下隱藏文件除外)。在case它將匹配任何文本。

+0

感謝您的快速回復。 '$ *'總是需要雙引號嗎? – 2012-02-23 00:33:48

+1

誰在乎。你不應該首先使用'$ *'。 – 2012-02-23 01:46:57