为什么“!!”快捷方式无法执行之前运行的命令?

为什么“!!”快捷方式无法执行之前运行的命令?

最近我在终端上输入

username:~$ !!

并收到错误狂欢

bash: !!: command not found

同时,在超级用户下执行时也会成功。

我调查了用户 PATH 的内容,没有发现任何可疑的内容:

/home/username/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

输出如下:

username:~$ history | tail
1993  date
1994  cal
1995  vcal
1996  uptime
1997  uname
1998  uptime
1999  uname
2000  uptime
2001  uname
2002  history | tail

其他:

username:~$ echo foo
foo
username:~$ !!
bash: !!: command not found

答案1

历史扩展可能被禁用:

$ echo foo
foo
$ !!
echo foo
foo
$ set +o histexpand
$ set -o | grep hist
histexpand      off
history         on
$ echo foo
foo
$ !!
bash: !!: command not found

尝试set -Hset -o histexpand

相关内容