【发布时间】:2013-12-31 21:17:18
【问题描述】:
我知道我可以使用last_output=$(my_cmd) 将命令的结果保存到变量中,但我真正想要的是每次运行命令时$last_output 都会得到更新。是否有可以安装的变量、zsh 模块或插件?
我想我的问题是stdout 是否被永久写入某处(至少在下一个命令之前)?这样我就可以操纵前一个命令的结果,而不必重新运行它。这对于需要很长时间运行的命令非常有用
【问题讨论】:
-
stdout 只是一个文件句柄,默认情况下连接到控制台,但可以重定向。如果需要,您可以重定向输出以存储在文件中,然后在显示结果之前操作该文件。
-
如果我这样做会丢失控制台输出吗?我可以将其重定向到两者吗?
-
您不能在没有开销或副作用的情况下直接重定向到两个地方——每次
write()调用只能将输出输出到一个目的地——但您可以重定向到诸如tee之类的进程依次写入两个地方。