我希望能够在重定向之间切换。即:
重定向#1将是: 不要重定向到stdout,将输出重定向到文件。
重定向#2将是: 不要重定向到文件...而是重定向到stdout
是否可以在运行时执行此操作?
答案 0 :(得分:6)
这里适用于bash(对于C来说它会非常相似):
#!/bin/bash
echo begin experiment
exec 3>&1-
exec > to_file
echo this goes to file
echo another line to file
exec 1>&3-
echo this goes again to stdout
答案 1 :(得分:0)
您可以使用
从bash脚本内部重定向(因此决定不是调用者)exec>文件
或
exec> $(tty)
答案 2 :(得分:0)
作为准中世纪替代方案,您可以安装Konsole或其他一些终端,让您将输出保存到文件中。您可以在终端上运行应用程序(运行时)时随时保存输出。
在Konsole上,您可以点击: Scrollback>保存输出
你没有具体说过你在寻找编程解决方案,所以我相信这个想法是有效的。