Eu tenho zsh 5.3 (através de oh-my-zsh), se eu executar echo --message="foo!"
, recebo um prompt de cotação não terminado na próxima linha:
$ echo --message="foo!"
dquote>
Isso não acontece no bash.
Quando eu retiro o !
caractere do argumento, funciona bem:
$ echo --message="foo"
--message=foo
O que está acontecendo aqui?
Também devo observar que, se eu responder ao prompt de cotação não terminado com "
e pressionar return, recebo essa saída, que descarta totalmente o !
:
$ echo --message="foo!"
dquote> "
--message=foo
Essa é a expansão da história em ação.
Isto é o que a página de
zshexpn(1)
manual diz sobre isso: