bash 版本 5.2.15(1)-发布(i686-pc-linux-gnu)
如下所示,没有给出任何错误消息:
history -s "-"
history -s -- "- "
但以下几行给出错误:
history -s "- "
history -s '- '
(在参数字符串中:破折号后跟 BLANK)
错误信息是
bash: history: - : invalid option
这就像 bash 会解析 bash 选项的参数字符串一样。
但是如果有 bash 选项,例如
history -s "-p "
该选项不被接受,给出相同的错误消息
bash: history: - : invalid option
问候
答案1
与大多数 shell 命令和工具一样,--
表示“选项结束”。因此,如果没有--
,命令确实会尝试将参数解析为其自己的选项。
'-p '
不是 bash 选项。如果没有--
,则因为-p
不接受值,所以它被解释为两个选项,-p
和"- "
,其中第二个选项无效 - 如错误消息中所述。这只是像使用 一样堆叠选项history -sp
。