cod*_*ear 2 bash redirect io-redirection
我有一个bash脚本,它只调用不同的调用并将stdout和stderr输出重定向到不同的文件.
我这样做了:
command 1> datafile 2>> errorfile
Run Code Online (Sandbox Code Playgroud)
但是,当命令错误时(例如,作为参数给出错误的用户名和密码组合),错误消息不会重定向到错误文件.我运行此脚本时仍然在屏幕上看到错误消息.例如,错误消息表明我提供了用户名和密码的错误组合.
我究竟做错了什么?我以为我应该在屏幕上看不到输出,因为我将stdout和stderr重定向到文件.
也许该程序不是写入stderr,而是直接打开/ dev/tty与用户进行通信?这种方法在密码交互方面相当普遍:尽管有任何重定向,软件仍希望确保密码提示能够"通过"给用户.
如果是这种情况,您需要伪终端技巧来安排输出结束文件.
如果您没有该软件的来源,您可以使用strace/truss来了解该程序的实际用途.
| 归档时间: |
|
| 查看次数: |
1594 次 |
| 最近记录: |