有時-version,有時--version - Linux

Barb Cronin avatar
By Barb Cronin
at 2017-08-30T15:22

Table of Contents

如果你寫過程式, C 、 bash 、 perl 隨便,
就知道在程式裡都是收到一個文字陣列。

像 ./abc -a b --color=always "my file.txt"
你收到的就是:
['./abc', '-a', 'b', '--foo=bar', '-version', 'my file.txt']
一切看程式怎麼寫。

有幾種寫法,老程式會用單字母,
要接其它就直接寫在後面,不能有空格:
./foo -a -Fmyfile.txt

大部份不能連寫:
./foo -aF


比較好的慣例是長選項用 -- ,短選項用 - 。
選項有參數就用空格隔在後面,
避免和選項連寫混滛:

iconv -i big5 -o UTF-8
iconv -li big5

現在好像如果是較複雜的命令像 git 有子命令的,
就變成 git status ,
以前 dpkg 是 dpkg -i ,apt 就變 apt install 。

現在有附加參數的命令多可以空隔,
長選項有用等號也用有空格的。

grep --color=always
dpkg --install foo.deb


長選項也用 - 好像是 bsd 風格?
convert -rotate 90

有的還有用到加號,一時忘記有什麼範例。
./foo +border -background

常見的通用選項有 -h --help ,
一般這兩個會保留,當然 -help 也是有。
version 會用 -V --version , -version 也有。

7z 和 unrar 的風格:
7z a new.7z a.txt b.txt
7z x file.7z
7z h # 顯示說明

dd 的風格:
dd if=/dev/sda of=/dev/sdb

※ 引述《dharma (達)》之銘言:
: git --version
: unity --version
: 上面是兩個橫槓
: X -version:查X Server版本
: 上面是一個橫槓
: 查版本的指令
: 有的是--version,有的是-verison
: 有什麼規則嗎
: Thanks

我一定是太無聊才會打這篇

--

+------+
| 胡 | 不要因為偉人的照片。
| |
| 適 | 就輕易相信文字內容。
+------+

--
Tags: Linux

All Comments

Caroline avatar
By Caroline
at 2017-09-03T08:37
一般目前開發若要取 command 參數,若以 c 程式庫來說
Faithe avatar
By Faithe
at 2017-09-04T02:40
一般用getopt() 來處理,在 bash script 也可以用getopt
Liam avatar
By Liam
at 2017-09-06T02:02
太無聊才會打這篇 XD
Jack avatar
By Jack
at 2017-09-10T11:07
Dorothy avatar
By Dorothy
at 2017-09-13T15:11
看手冊無敵。謝謝分享。
Noah avatar
By Noah
at 2017-09-14T05:23
了解getopt()卡實在 不用瞎子摸象
Heather avatar
By Heather
at 2017-09-17T18:25
推 getopt
Mary avatar
By Mary
at 2017-09-21T10:24
做得到啊,前幾天才寫過
Kama avatar
By Kama
at 2017-09-23T02:33
帶幾個參數就用 shift 控制
Callum avatar
By Callum
at 2017-09-25T09:54
可以阿,getopt man page 就有寫了

CUDA安裝怎麼那麼難

Sierra Rose avatar
By Sierra Rose
at 2017-08-30T12:58
大家好 我想在ubuntu 16.04上安裝CUDA 我把runfile下載好之後 要安裝好像必須把xserver驅動顯卡的driver關掉 所以我就找了一下關掉xserver的方法 (我是參考這個網址的方法: https://askubuntu.com/questions/149206/how-to-ins ...

無OS筆電裝linux的相容性好嗎?

Eartha avatar
By Eartha
at 2017-08-30T00:09
※ 引述《LIAR (玻璃做的大叔)》之銘言: : 我因為在外頭跑都是用centos和ubuntu,使用win的機會較少,真要的話都是連回 : 家裡電腦處理。 : 我看到IdeaPad 320-15IKB 80XL0017TW有出無OS的版本,會便宜2000,我還省得 : 要重新分割或移除預載軟體等一堆問題, ...

ubuntu server multiple ip

Jack avatar
By Jack
at 2017-08-29T23:20
各位前輩好 這幾天裝了一台ubuntu server 16.04.3 主機板有2個網路孔 原本期望的配置是 dhcp + static (內網 + 外網) 但一直設定不好 配置如下 主機---------[hub]-----[ap] (dhcp: 192.168.0.zzz) | ...

win10 + ubuntu 16.04LTS 開機速度異常ㄓ

Jessica avatar
By Jessica
at 2017-08-29T11:45
各位好,上個月買了ASUS VC66 i7 版 自己灌了ubuntu進去後就少開WIN10 但是今天想說在win10下面跑matlab 發現開機速度非常慢 大概有2~3分鐘是卡在藍色窗戶的畫面 win10的系統是放在SSD上的, 已經爬過關鍵字 幾乎沒看到這個問題 想請問板友可能會是什麼原因呢? ...

影響 CURL Response 時間的因素

Tracy avatar
By Tracy
at 2017-08-28T23:30
作業系統:CetnOS 6.9 64bit 請問一下各位 最近碰到一個問題 假設第三方api server abc.com.tw 205.123.123.111 當server使用 curl 發出request到 abc.com.tw and#39;有時候and#39; 會發生response時間過 ...