【发布时间】:2015-06-22 04:04:12
【问题描述】:
在 bash 中认为我做了这件蠢事:
$ exec 1>&-
$ exec 2>&-
我确定我还没有输掉比赛(哎呀,实际上我输了The Game),我可以重新连接到标准输出。我的想法是我不知道怎么做。
我尝试的第一件事是创建一个 fifo 并使用另一个 shell 来监视第一个 shell 的标准输出。它没有工作,我不知道为什么:
tty1
$ mkfifo stdout
$ exec 1>stdout
$ echo "Hello stdout"
tty2
$ tail -f stdout
$ # nothing here
毕竟我怎样才能重新连接我关闭的
STDOUT和STDERR?
我知道一个解决方案是在使用它之前保存 STDOUT:
$ exec 3>&1
$ exec 1>&-
$ echo "Nothing will see this"
$ exec 1<&3 # Restoring stdout
【问题讨论】:
标签: bash