美好的一天
如何将它们发送到仅对话标准输出和文件/root/sh/sh.log标准输出+输出错误
# I need
dialog == standard output
/root/sh/sh.log == standard output + error output
# My experimental
start 2>&1 /root/sh/menu.log | dialog --stdout --progressbox 20 200;
谢谢
答案 0 :(得分:0)
我会尝试类似的东西 开始2>> /root/sh/sh.log | tee -a /root/sh/sh.log |对话框
答案 1 :(得分:0)
您可以尝试使用tee
命令和进程替换
{ start | tee >( dialog --stdout --progressbox 20 200) ; } > /root/sh/menu.log 2>&1
在命令组中,标准输出传递给tee
,该文件写入“文件”,该文件实际上是一个将其输入传递给dialog
命令的进程替换构造。可以把它想象成标准输出的分叉管道。
由于未重定向标准错误,并且tee
将其输入传递回标准输出,因此两者都会从命令组中传出。首先,我们将标准输出重定向到所需的日志文件,然后我们将标准错误复制到标准输出的任何位置。