如何调用 shell 历史记录中的最后 3 个命令

ben*_*hsu 1 unix zsh shell

假设我的最后 3 个命令是: % rm foo.out % myprog > foo.out % cat foo.out

我想用一次回车键调用最后 3 个,即执行一些调用的 shell 历史命令: % rm foo.out && myprog > foo.out && cat foo.out

我怎样才能做到这一点?

dbe*_*hur 6

历史扩展在 bash 和 zsh 中的工作方式非常相似,使用 !-N 来引用第 N 个前一个命令

$ echo foo
foo
$ echo bar
bar
$ echo baz
baz
$ !-3 && !-2 && !-1
echo foo && echo bar && echo baz
foo
bar
baz
Run Code Online (Sandbox Code Playgroud)