打开重定向后如何关闭它?

打开重定向后如何关闭它?

我找到了一个很好的解决方案使用 exec 重定向所有后续命令的 stderr

我用了这个例子:

exec > >(tee $somelog) 2>&1

...并设法让一切变得tee完美。现在,如何再次将其关闭?

答案1

如果您提前计划,最好的解决方案可能是首先保存描述符,或者在附属范围内进行重定向,如评论中链接的问题

但是,如果您没有这样做,那么您可以使用以下命令恢复直接写入终端:

exec > $(tty)

前提是您还没有重定向标准输入。

如果你重定向标准输入,您可以使用:

exec > /dev/tty

,这也稍微快一些。


这些重置了终端的标准输出。要专门重置标准错误,请使用:

exec 2> ...

无论您从上面选择哪个选项。


如果您只是陷入困境并想摆脱困境,请注意,只需退出并重新启动 shell 即可让您恢复正常。

相关内容