Shell
“–”(雙破折號)是什麼意思?
我已經看到
--
在compgen
命令中使用了。例如:
compgen -W "foo bar baz" -- b
裡面的意思是什麼
--
?
--
更準確地說,在大多數 Bash 內置命令和許多其他命令中使用雙破折號 ( ) 來表示命令選項的結束,之後只接受位置參數。使用範例:假設您要 grep 字元串的文件
-v
- 通常-v
會被視為反轉匹配含義的選項(僅顯示不匹配的行),但--
您可以像這樣 grep 字元串-v
:grep -- -v file
在
man bash
我們可以閱讀Shell 內置命令部分:除非另有說明,否則本節中記錄的每個內置命令都是接受選項,前面有
-
accept--
表示選項的結束。,
:
,true
和builtins 不接受選項並且不進行false
特殊處理。, , , ,和builtins 接受和處理以開頭的參數而不需要. 其他接受參數但未指定為接受選項的內置函式將以無效選項開頭的參數解釋為無效選項,並要求阻止這種解釋。test``--``exit``logout``break``continue``let``shift``-``--``-``--
請注意,這
echo
並不--
意味著選項的結束。