我正在使用 bash shell。通常,如果我想重复以某个字符串开头的最后一个命令,我可以运行
$ !cat
如果我想运行最后一个包含字符串的命令怎么办?也就是说,如果我输入命令
$ cat dave.txt
我想用“dave”运行最后一个命令,这恰好是上面的命令,是否有快捷方式可以允许这样做?
答案1
使用?
事件指示符:
!?dave
看man bash
:
?细绳[?]
参考包含 的历史列表中当前位置之前的最新命令
string
。如果紧随其后的是换行符,则?
可以省略尾部。string
但我发现从历史记录中调用随机命令很危险 - 如果我在不同的终端/目录中并且不小心删除了某些内容怎么办?Ctrl + R更安全、更灵活。