在Bash中,键入例如!make
后跟 Enter 将调用并执行历史记录中以“make”开头的最后一个命令。
我想要的只是回忆那个命令,但不要立即评估它,直到我再次点击 Enter ,允许我查看它,或者根据需要进行编辑。
有没有办法在Bash中这样做?
答案 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
。然后,您可以在适当的位置编辑命令行。
或者,您可以按其他答案中所述滚动历史记录。