我有一个tool
,需要input
并生成output
:
$ tool input > output
我想添加一个长字符串选项 - 例如,“注释”选项。此注释文本是选项的参数,是一个用正向刻度标记括起来的句子:
$ tool --comment='I am commenting on the use of comments' input > output_plus_comment
这与通常的--foo=bar
键值配对不同,其中foo
是选项名称,bar
是单字值(例如true
, red
,...)。
C是否有一个很好的命令行解析器库来处理这种特殊情况?
答案 0 :(得分:2)
将命令行标记为程序的参数是shell的责任,而不是你的。所以没有什么可以做的。
只需在包含空格的字符串周围加上引号,或在命令行中使用反斜杠转义空格,并且--foo
值可以包含任意数量的空格。