我正在为一个程序的应用程序控制器工作,该程序将文本直接吐出到/ dev/tty.
这是一个生产应用程序控制器,必须能够捕获所有发送到终端的文本.通常,这不是问题.我们只是重定向stdout和stderr.这个特殊的应用程序直接调用echo并将结果重定向到/ dev/tty(echo "some text" > /dev/tty).通过我的应用程序控制器重定向无法捕获文本.
我确实有这个应用程序的源代码,但我无法修改它,也不再维护它.关于如何捕获和/或丢弃输出的任何想法?
我有一个bash脚本,它只调用不同的调用并将stdout和stderr输出重定向到不同的文件.
我这样做了:
command 1> datafile 2>> errorfile
Run Code Online (Sandbox Code Playgroud)
但是,当命令错误时(例如,作为参数给出错误的用户名和密码组合),错误消息不会重定向到错误文件.我运行此脚本时仍然在屏幕上看到错误消息.例如,错误消息表明我提供了用户名和密码的错误组合.
我究竟做错了什么?我以为我应该在屏幕上看不到输出,因为我将stdout和stderr重定向到文件.