2012-02-06 245 views
6

任何人都可以告訴我$*在bash腳本中的含義是什麼?

我試圖在谷歌搜索它,但我發現只有約$0,$1等。

所以,如果有這個鏈接,是值得歡迎的。

謝謝!

回答

8

man頁:

*展開爲位置參數,從1開始。當擴展出現在雙引號內時,它擴展爲單個 字,每個參數的值由IFS特殊變量的第一個字符分隔。也就是說,「$*」相當於 到「$1 c $2 c ...」,其中c是IFS變量值的第一個字符。如果IFS未設置,則參數將以空格分隔 。如果IFS爲空,則參數在沒有介入分隔符的情況下連接。

因此,它等價於所有的位置參數,具有稍微不同的語義,具體取決於它是否在引號中。

3

這是所有傳遞給腳本的參數,除了按字分開。你幾乎總是想用"[email protected]"代替。這一切都在bash(1)手冊頁中。

3

將命令行中提供的參數列表添加到腳本中。$ 0將是腳本名稱。

1

這是一個空格分隔的所有參數字符串。例如,如果$1是「你好」,並且$2是「世界」,那麼$*是「你好世界」。 (除非$ IFS被設置;然後它是一個$ IFS分隔的字符串。)

3

您可以使用symbolhound搜索引擎來查找谷歌不會查找的代碼。

您所查詢的click here

+0

謝謝。這對我來說是非常有幫助的! – artaxerxe 2012-02-06 09:38:43

0

如果您在與任何前綴看到$,這意味着它的一個變量。使用變量的值。

例子:

count=100 
echo $count 
echo "Count Value = $count" 

上面的腳本輸出:

100 
Count Value = 100 
+0

儘管您所做的陳述是正確的,但問題是「什麼是$ *是什麼意思? – maninvan 2015-06-30 18:49:27