Getopt
命令列選項解析程式
Getopt 是一個 C 語言的庫函數,用於解析 Unix/POSIX 風格的命令行選項。它是 POSIX 規範的一部分,對於類 Unix 系統是通用的。同時它也是用於解析 Shell 腳本中的命令行參數的 Unix 程序的名稱。
歷史
如何指定命令行程序的選項是一個長期存在的問題。早期程序使用多種風格來指定選項,包括單字符選項 (-a
)、一起指定的多個選項 (-abc
相當於 -a -b -c
)、多字符選項 (-inum
)、帶參數的選項 (-a arg
, -inum 3
, -a=arg
)和不同的前綴字符(-a
, +b
, /c
)等。
getopt 函數的目的是提供一種解析命令行選項的標準機制,使之成為每個人都可以使用的通用接口。為此,原作者在實現這個函數時提供了廣泛的支持,無論是單字符選項、一起指定的多個選項還是帶參數的選項(-a arg
或 -aarg
),所有這些都可由選項字符串控制。