大多数命令行工具,都会提供一些选项。在不同的选项组合之下,这些工具会有不同的行为。GNU 标准的命令行选项解析工具是 getopts
,它比其兄弟 getopt
更为强大。除了介绍 getopts
的用法之外,这里还会介绍两种手工解析参数的方法。
在正式介绍之前,有必要区分几个概念(在 Shell 脚本中)。
- Argument, Option: 中文对应「选项」,形如
-a
,--save
的都是选项;选项可以接收参数(Parameter),也可以不接受参数。 - Flag: 中文对应「标签」,形如
-v
(verbose);标签是布尔值,不接受参数。
下面正式开始介绍。