Mat*_*nry 4 bash command-history process-substitution
我经常发现自己在做以下事情:
$ big long command 1
$ big long command 2
$ diff -u <(big long command 1) <(big long command 2)
Run Code Online (Sandbox Code Playgroud)
我怎样才能让 shell(bash在我的例子中)为我构造第三个命令,而无需将那些长长的命令剪切并粘贴到<()s 中?(如果big long command重新执行 s显然没问题;它们被认为可以安全地重新运行。)
您可以使用 Bash shell 的历史记录来获取最后 2 个运行命令,如下所示:
$ big long command 1
$ big long command 2
$ diff -u <(!-2) <(!-1)
Run Code Online (Sandbox Code Playgroud)
这将取当前命令减 2 ( big long command 1) 和当前命令减 1 ( big long command 2) 并将它们运行到diff.