跳至內容

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),所有這些都可由選項字符串控制。