我可以运行如下命令:
tim@Hairy:~$ echo Hello
Hello
然后我可以运行命令 !! 然后它会再次执行此操作:
tim@Hairy:~$ !!
echo Hello
Hello
我甚至可以使用上一个命令的另一个参数来运行它:
tim@Hairy:~$ !! World
echo Hello World
Hello World
那么它!!
到底在做什么呢?我一直在努力寻找它,因为谷歌搜索!!
相当...毫无意义。
答案1
这是bash 的历史交互。
- A
!!
按原样替换最后一个命令。 - A
!foo
被替换为以 开头的最后一个命令foo
。 - A
!^
或 a!$
分别替换为前一个命令中的第一个或最后一个参数。 - A被替换为
!n
n历史上的第条命令。 - A被替换为
!-n
n历史上的最后一个命令。 - ...
答案2
这是一个非常简短的答案:
!!
重复上一个命令,不执行其他任何命令。
你还能找到更多“有趣”的事情这里。
我一直在努力寻找它,因为用 Google 搜索 !! 相当......毫无意义。
更好的搜索方法是这样的:
https://www.google.de/webhp?q=bash+cheat+sheet
答案3
从man bash
:
!! Refer to the previous command. This is a synonym for '!-1'.
测试:
$ echo "foobar"
foobar
$ !!
echo "foobar"
foobar
$ !-1
echo "foobar"
foobar