可以告诉shell保存命令输出吗?

时间:2013-06-26 08:52:14

标签: shell zsh

我在想一个假设的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命令只是一个例子。我想为我运行的所有命令保存输出,这样如果我需要它,我可以快速访问它。 (输出仍然应该通过命令打印到stdout。)我不想做

CMDOUTPUT="$(...)"

command | tee /tmp/cmdoutput

必须做的任何其他事情,因为在我运行的所有内容的提示符下我都会输入更多内容:我希望shell在后台完成所有操作。再次,说清楚:我随便输入命令并决定“哦,我想在这个命令中使用最后一个命令的输出,让我只是检索它......”。我可以告诉 shell以某种方式存储输出,以便我可以检索它。

如果没有它的选项,是否有某些方法我可以实现它尽可能接近隐形,这意味着命令的退出代码不会丢失(......这就是我能想到的全部内容) ,但我确定还有其他细微之处)等等。我主要考虑zsh,但任何shell的答案都会有用。

1 个答案:

答案 0 :(得分:0)

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

zsh | tee log >&1