因为我是一名旧时tcsh
用户,所以我倾向于使用感叹号,然后输入命令的第一个字来抓住我的bash
历史记录。 。在tcsh
上,这会导致它显示命令,但在bash
上它运行命令,而没有给我机会编辑它。
有没有办法让bash
向我显示命令而不用运行它?
答案 0 :(得分:3)
使用:p
修饰符仅打印命令:
$ echo foo
foo
$ !!:p
echo foo
还有两种方法可以在当前命令行上展开历史记录说明符,而不是立即执行它。
history-expand
(默认绑定到M-^
)会扩展当前命令行上的所有历史记录说明符。histverify
(shopt -s histverify
)在您按Enter键时将当前命令行的扩展放在下一个命令行上,而不是立即执行。前面提到的两个允许您在执行命令之前进一步编辑结果命令。