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),所有这些都可由选项字符串控制。