奇怪的爆炸(历史重击扩展)

osd*_*yng 1 linux bash

在 bash 中:

$ a=1
$ echo $a
1
$ echo "$a"
1
Run Code Online (Sandbox Code Playgroud)

但:

$ echo !
!
$ echo "!"
bash: !: event not found
Run Code Online (Sandbox Code Playgroud)

为什么在“echo !”中,bash 不展开。

oos*_*hro 8

在“echo !”中,bang 后跟着回车。

男人 bash

! 开始历史替换,除非后跟空白、换行、回车、= 或 ((当使用 shopt 内置程序启用 extglob shell 选项时)。