了解bash中的感叹号(!)

瓦斯

我用了

history | less

为了获得先前命令的行,并从左侧的数字中,我找到了我想重复的行(例如22),并做了

!22

在命令提示符下,它起作用了-在我当时执行的那一行上执行了命令集。我无法弄清楚在何处使用感叹号,根据bash采取的操作,感叹号代表什么,以及在何处使用感叹号。从文档中,我看不到“有形的”解释。

沃伦·杨(Warren Young)

!是最初出现在C shell中的功能,早在您可以依靠终端拥有箭头键的那几天就可以了。如果将当前命令编号添加到提示(PS1="\!$ ")中,则特别有用,这样您可以快速查看屏幕以获取过去命令的编号。

现在您可以使用箭头键和类似的功能Ctrl-R来搜索命令历史记录,但我认为该功能没有太大用处。

您可能仍然发现它有用的一种变体是!!,它会重新执行上一个命令。就其本身而言,我发现的!!Enter速度并不比快 Enter,但将其组合成更大的命令时可能会有所帮助。

例如:一个共同的导频误差sudo为基础的系统是忘记sudo上需要额外的特权的指令前缀。新手重新输入整个命令。勤奋的学生会从Shell的命令历史记录中编辑命令。开明的一种sudo !!

Bash允许您!使用set +o histexpand禁用Shell中的处理set +H您可以使用在Zsh中禁用它set -K

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

bash脚本中的双重感叹号

来自分类Dev

在bash中,如何逃脱感叹号?

来自分类Dev

了解双重感叹号

来自分类Dev

bash脚本中的感叹号与终端中的感叹号

来自分类Dev

bash中的[[]](括号中的感叹号)通配符

来自分类Dev

bash中的[[]](括号中的感叹号)通配符

来自分类Dev

bash中花括号内的感叹号和哈希

来自分类Dev

如何正确摆脱bash中的感叹号?

来自分类Dev

bash中带有感叹号的变量替换

来自分类Dev

以下bash命令中的!#(感叹号哈希),!$:r:r(感叹号美元冒号r),!#:t(感叹号冒号冒号t)是什么意思?

来自分类Dev

Haskell中的双感叹号

来自分类Dev

SQL中的感叹号(Oracle)

来自分类Dev

SQL中的感叹号(Oracle)

来自分类Dev

使用感叹号'!' 在C中

来自分类Dev

Ruby中变量前的感叹号

来自分类Dev

Haskell数据声明中的感叹号

来自分类Dev

感叹号在 JavaScript 中的使用

来自分类Dev

感叹号变量$!

来自分类Dev

sed感叹号

来自分类Dev

ssl感叹号

来自分类Dev

为什么双引号中的感叹号会导致Bash错误?

来自分类Dev

如何使用 '!!' (两次感叹号)在bash脚本中?

来自分类Dev

在Bash中键入单个感叹号有什么作用?

来自分类Dev

Bash脚本-变量参考中的感叹号

来自分类Dev

在Bash中键入单个感叹号有什么作用?

来自分类Dev

不能在bash中使用感叹号(!)?

来自分类Dev

使用感叹号'!' 在C

来自分类Dev

triggerHandler内的感叹号

来自分类Dev

外壳感叹号命令