我怎么能回忆起使用的命令!没有立即执行?

时间:2013-07-15 02:04:34

标签: bash

在Bash中,键入例如!make后跟 Enter 将调用并执行历史记录中以“make”开头的最后一个命令。

我想要的只是回忆那个命令,但不要立即评估它,直到我再次点击 Enter ,允许我查看它,或者根据需要进行编辑。

有没有办法在Bash中这样做?

3 个答案:

答案 0 :(得分:4)

您可以使用 CTRL + p 来获取上一个命令

您还可以使用 CRL + r 来反向搜索历史记录中的命令。

答案 1 :(得分:2)

任何历史记录扩展后的p修饰符会将结果打印到命令行以进行进一步编辑,而不是执行它。

$ echo foo
foo
$ !!:p
$ echo foo
          ^
          |
          cursor remains here

答案 2 :(得分:1)

您可以使用history-expand-line键(M-^)在当前行上展开历史记录。

M修饰符键通常映射到 Alt

$ !make

替代 6

$ make -C mydir

如果您的上一个make命令是make -C mydir。然后,您可以在适当的位置编辑命令行。

或者,您可以按其他答案中所述滚动历史记录。

相关问题