命令行選項風格
1、原始unix風格
a、命令行選項以連字符'-'開頭,后跟單個字符表示選項,選項后面跟着取值,如:mysql -hlocalhost
b、選項不帶取值的,可以組合在一起,如:sed -n -r 可以寫成 sed -nr
c、偏愛小寫字母,大寫字母另有含義,非常簡練
2、GNU風格
a、命令行選項以兩個連字符'--'開頭,后跟選項名稱,選項后面使用空格或者等號 緊接着取值。
b、容易記憶,書寫麻煩。
3、大多數程序是兩種風格混用,兩種風格都支持,前者是后者的縮寫方式,如下:
mysql --host localhost 或者 mysql --host=localhost ,縮寫方式為mysql -hlocalhost,注意縮寫方式盡量不要再寫成 mysql -h localhost,或者 mysql -h=localhost,因為這可能會存在解析困難,空格可能會認為是下一個選項,而等號可能會認為是取值的一部分。比如:
mysql -hlocalhost -uroot -p 123456,認為123456 是一個數據庫,還需要輸入密碼。
mysql -hlocalhost -uroot -p=123456,認為密碼是 "=123456",當然密碼錯誤。
4、通過 man xxx 或者 xxx --help 我們可以看到命令的用法,會列出選項和選項的縮寫方式,如mysql --help
-h, --host=name Connect to host. 前面是縮寫方式,后面是描述說明。
5、一般的縮寫方式是取全稱的第一個字符,這就存在沖突的問題。比如:--host 與--help ,解決辦法是:其中一個提供縮寫方式,另外一個不提供。當然也可能提供另外一個字符,表示縮寫,這個字符是大寫形式或者意思相近的字符。比如:mysql 小寫p是password的縮寫,大寫P是port的縮寫。
6、對於help,一般會有三種方式,--help、-h、-?
隨着時間的推移,簡寫方式有一些不成文的約定,如下《從linux就是這個范》截圖:



