字符串搜索
你也可以通过特定的字符串来搜索历史记录中的命令并运行它。
若是想要搜索以特定字符串开头的命令,就用 ! 直接加上 (无空格) 你想要搜索的字符串:
$ echo "alvin" alvin $ true $ false $ !echo echo "alvin" alvin
你还可以搜索在任意位置包含特定字符串的命令。要做到这点,你只需要用 ! 直接加上前后两端都被 ? 包围的特定字符串即可,像这样:
$ echo "alvin" alvin $ true $ false $ !?alvin? echo "alvin" alvin
如果你知道你想要搜索的字符串在命令的最后面,那就可以省略字符串后面的 ?,像这样:
$ echo alvin alvin $ !?alvin echo alvin alvin
值得注意的是,若是历史记录中包含目标字符串的命令不止一条,则它只会执行符合条件的命令中最后的一条:
$ echo "hello world" hello world $ echo "hello alvin" hello alvin $ !?hello? echo "hello alvin" hello alvin