簡體   English   中英

bash腳本中的$ *

[英]$* in bash scripting

有人可以告訴我$*在bash腳本編制中意味着什么嗎?

我試圖在Google上搜索它,但發現只有大約$0$1等。

因此,如有鏈接,歡迎您。

謝謝!

man頁:

*擴展到位置參數,從1開始。 當在雙引號內進行擴展時,它將擴展為一個單詞,每個參數的值由IFS特殊變量的第一個字符分隔。 也就是說,“ $* ”等效於“ $1 c $2 c ...”,其中c是IFS變量值的第一個字符。 如果未設置IFS,則參數之間用空格分隔。 如果IFS為null,則連接參數時不插入分隔符。

因此,它等效於所有位置參數,根據其是否用引號引起,其語義略有不同。

看到這個頁面:

http://tldp.org/LDP/abs/html/internalvariables.html#IFSEMPTY

$ IFS為空時,$ *和$ @的行為取決於+運行哪個Bash或sh版本。 因此,不建議在腳本中依賴此“功能”。

這是傳遞給腳本的所有參數,但按詞拆分除外。 您幾乎總是想使用"$@"來代替。 這全在bash(1)手冊頁中。

它在命令行中提供給腳本的參數列表。$ 0將是腳本名稱。

您可以使用Symbolhound搜索引擎來查找Google不會查找的代碼。

查詢請點擊這里

這是所有參數用空格分隔的字符串。 例如,如果$1是“ hello”,而$2是“ world”,則$*是“ hello world”。 (除非設置了$ IFS,否則它是一個$ IFS分隔的字符串。)

作為一個獨立的命令,它在bash腳本編寫中沒有任何意義。 但是,根據命令中的用法,它用於指示對具有某些共同特征的文件/文件夾的共同操作。

並使用grep表示命令中的零個或多個常見特征。

如果您看到$帶有任何前綴,則表示其為變量。 使用變量的值。

例:

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

上面腳本的輸出:

100
Count Value = 100

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM