重新运行多个历史命令

重新运行多个历史命令

想象一下您刚刚运行了十几个命令。说...

$ cd foo/    # history cmd #10000 (my history is very long)
$ ... more commands ...
$ cd ../     # history cmd #10012 

!-12 && !-11 && !-10 && (and so on) && !!我知道如果它们碰巧有的话我可以重新运行它们只是已经运行(不太可能)或!10000 && !10001 && !10002 && (and so on),但是有没有比用感叹号和&符号手动键入每个历史数字更简单的方法?

bash 中是否有某种我不知道的范围?

例如!{10000-10012}# 像这样的东西,只能工作。

答案1

这就是fc命令是为了。对于最后 12 个命令:

fc -12 -1

或者对于编号为 #10000 到 #10012 的命令

fc 10000 10012

这并不完全是您想要的,因为它会首先启动一个编辑器,但这可能是一件好事,因为它让您有机会仔细检查您是否拥有正确的命令,甚至使用您喜欢的编辑器的所有功能来编辑它们。保存更改并退出编辑器后,命令将依次运行。

相关内容