5
getopt,getopts还是手动解析-当我想同时支持长选项和长选项时使用什么?
目前,我正在编写具有以下要求的Bash脚本: 它应该可以在各种Unix / Linux平台上运行 它应该同时支持短和(GNU)长选项 我知道这getopts将是可移植性的首选方式,但是AFAIK不支持长选项。 getopt支持长选项,但BashGuide强烈建议不要这样做: 永远不要使用getopt(1)。getopt无法处理空参数字符串或带有嵌入式空格的参数。请忘记它曾经存在。 因此,仍然有手动解析的选项。这容易出错,会产生很多样板代码,我需要自己处理错误(我想自己getopt(s)进行错误处理)。 那么,在这种情况下首选的选择是什么?