撤消全局STDERR - > STDOUT重定向

时间:2017-03-05 21:36:03

标签: linux ssh sudo tty

我正在编写一个ssh进入主机的脚本,然后sudo给一个特权用户。由于我们的主机不允许sudo使用非tty会话,因此启用了伪tty。

pseudo-tty自动将所有STDERR输出重定向到STDOUT。这导致了项目的一连串问题,因为依赖库不能很好地处理STDERR输出。

是否可以撤消STDERR - > STDOUT输出重定向?换句话说,是否有可能全局要求将所有STDERR输出发送到STDOUT?我知道可以在每个命令的基础上进行,但我正在寻找一种方法来做到这一点,只需要做一次 - 最好是当ssh到主机时。

1 个答案:

答案 0 :(得分:0)

您不能“撤消”重定向,但可以在其他地方重定向。

一行中的shell脚本(例如,2>/dev/null)中的“裸”重定向将为shell本身重定向stdout或stderr,因此shell将运行所有将来的命令。