我知道如何在 Linux 中重定向输出。问题是,我的 bash 脚本中有很多输出,我不想输入类似
echo $foo >> bar
一遍又一遍。我宁愿做这样的事情:
hey, bash, for the time being put all your STDOUT in "bar"
echo $foo
.
.
OK, bash, you can go back to regular STDOUT now
我尝试将 FD 1 作为文件打开:
exec 1>bar
但是当我完成后无法让 STDOUT 恢复正常。关闭文件
exec 1>&-
给我无法解决的错误。
有什么办法吗?谢谢!
最佳答案
你必须先保存 stdout(例如将它链接到 fd #4)
exec 4<&1
重定向标准输出
exec 1>bar
并恢复保存的标准输出
exec 1<&4
关于linux - 需要一种临时重定向 STDOUT 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13238573/