我在想一个假设CMDOUTPUT
会很有用:
locate -r 'regexp...' # locate finds a file: /myfile.
# Shell puts `/myfile' string into CMDOUTPUT
vim $CMDOUTPUT # No need to run locate again as with: vim `!!`
上面的locate
命令只是一个例子。我希望为我运行的所有命令保存输出,以便在需要时可以快速访问它。(输出仍应由命令打印到标准输出。)我不想这样做
CMDOUTPUT="$(...)"
或者
command | tee /tmp/cmdoutput
或者我必须做的任何其他事情,因为在提示符下我需要为我运行的所有内容输入更多内容:我希望 shell 在后台完成所有操作。再次说明一下:我随便输入命令并决定“哦,我想在这个命令中使用最后一个命令的输出,让我检索它......”。我可以告诉外壳以某种方式存储输出,以便我可以检索它。
如果没有选择,是否可以通过某种方式实现它,使其尽可能接近不可见,这意味着命令中的退出代码不会丢失(......这就是我能想到的,但我'确定还有其他微妙之处)等。我主要考虑的是 zsh,但任何 shell 的答案都会很有用。