相关疑难解决方法(0)

getopt、getopts 或手动解析 - 当我想同时支持短选项和长选项时使用什么?

目前我正在编写一个 Bash 脚本,它具有以下要求:

  • 它应该可以在各种 Unix/Linux 平台上运行
  • 它应该支持短和(GNU)长选项

我知道这getopts将是可移植性方面的首选方式,但 AFAIK 它不支持长选项。

getopt支持长选项,但BashGuide强烈建议反对它:

永远不要使用 getopt(1)。getopt 无法处理空参数字符串或带有嵌入空格的参数。请忘记它曾经存在过。

因此,仍然可以选择手动解析。这很容易出错,会产生相当多的样板代码,而且我需要自己处理错误(我想自己getopt(s)进行错误处理)。

那么,在这种情况下,首选是什么?

bash options shell-script user-interface getopts

45
推荐指数
4
解决办法
4万
查看次数

标签 统计

bash ×1

getopts ×1

options ×1

shell-script ×1

user-interface ×1