我有 zsh 5.3(通过 oh-my-zsh),如果我运行echo --message="foo!"
,我会在下一行得到未终止的报价提示:
$ echo --message="foo!"
dquote>
这不会发生在 bash 中。
当我从参数中删除!
字符时,它可以正常工作:
$ echo --message="foo"
--message=foo
这里发生了什么事?
我还应该注意,如果我回答未终止的报价提示"
并点击返回,我会得到这个输出,它完全放弃了!
:
$ echo --message="foo!"
dquote> "
--message=foo
这就是历史扩展在起作用。
这就是
zshexpn(1)
手册页所说的: