为什么我不能在bash'echo中使用感叹号,即使它被转义也没有?

时间:2014-01-10 17:55:34

标签: bash

我的问题很简单:

$ echo "Hello!"
sh: !": event not found

在这种情况下,!是什么?然后我尝试了echo "Match\!",但这解析为Match\!。我该如何撰写声明?

2 个答案:

答案 0 :(得分:5)

您可以使用单引号:

echo 'Hello!'
Hello!

否则在双引号shell中尝试将!扩展为历史记录中的事件..

答案 1 :(得分:0)

您可以使用set +H关闭历史记录展开,然后使用set -H

重新启用它