Cha*_*son 5 bash command-history search
我试图在 Ubuntu 12.04 中进行字符串搜索,如下所示:
find . -exec grep -l "!45" {} \;
它没有搜索字符串“!45”,而是替换为top. 它没有调用命令,而只是开始搜索术语“top”。在我弄清楚-Ffor 之前grep,我认为特殊字符会被视为引号之间的文本。
任何人,现在我发现了这个,我不知道这是什么,它的用途,或者它为什么存在!
在 bash shell 中,!45从命令历史记录(或!32或!873)返回该命令。
事件指示符是对历史列表中命令行条目的引用。除非引用是绝对的,否则事件是相对于历史列表中的当前位置的。
!
开始历史替换,除非后跟空格、制表符、行尾、“=”或“(”(当使用 shopt 内置选项启用 extglob shell 选项时)。
!n
请参阅命令行 n。
在此处查看 bash 手册中的完整详细信息。