0

我在想一个假设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 的答案都会很有用。

4

1 回答 1

0

我找到了一个解决方案,不确定这是否正是您正在寻找的。但它应该提供一个开始:)

zsh | tee log >&1
于 2013-06-26T09:42:34.450 回答