回声在做什么?

用户名

最近,我注意到在回声中包含很多“!” 导致奇怪的东西。例如:echo !!给我:

echo rm -r * 1000
rm -r * 1000

(这rm -r *是我在键入命令之前执行的最后一条命令)。为什么会发生这种情况,有办法禁用它吗?

欧根·里克(Eugen Rieck)

您遇到shell expansion了-Shell将解析您的命令,并用其他信息替换特殊的通配符。尝试echo '!!'(单引号)以了解shell扩展和引号可以做什么。

您可以在的man页面上阅读有关shell扩展的更多信息bash请注意历史记录扩展部分,其中讨论event designators和类似!!,而expanding部分讨论其他形式的Shell扩展。关于引用的部分说明了bash的引用机制的行为以及如何评估单引号和双引号的字符串之间的差异。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章