Command-Line單破折號
單破折號 -
用於單字元選項,但雙破折號 --
用於單詞?
使用單破折號表示字母和雙破折號表示單詞的慣例從何而來,為什麼繼續使用?
例如,如果我輸入
ls --help
,您會看到:-a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print octal escapes for nongraphic characters --block-size=SIZE use SIZE-byte blocks -B, --ignore-backups do not list implied entries ending with ~ ...
我嘗試使用Google搜尋
- and -- convention
,即使引用收效甚微。
在The Art of Unix Programming Eric Steven Raymond 中描述了這種實踐是如何演變的:
在最初的 Unix 傳統中,命令行選項是前面有一個連字元的單個字母……最初的 Unix 風格是在緩慢的 ASR-33 電傳打字機上演變而來的,這使得簡潔成為一種美德。因此是單字母選項。按住shift鍵需要實際的努力;因此偏愛小寫,並使用“-”(而不是可能更合乎邏輯的“+”)來啟用選項。
GNU 樣式使用前面有兩個連字元的選項關鍵字(而不是關鍵字字母)。幾年後,當一些相當複雜的 GNU 實用程序開始用完單字母選項鍵(這構成了症狀的更新檔,而不是潛在疾病的治愈方法)時,它演變了。它仍然很受歡迎,因為 GNU 選項比舊樣式的字母湯更容易閱讀。1
$$ 1 $$ http://www.catb.org/esr/writings/taoup/html/ch10s05.html