如何通过“对话框”窗口显示程序输出

Sto*_*ord 5 bash dialog

如何将程序的输出重新路由到窗口而dialog不是使用 bash?stdoutstderr

我不想通过使用捕获输出到变量variable=$(appname)并随后使用显示它dialog --msgbox。我想要类似运行时重新路由的东西,以便程序的输出在dialog生成时显示在该窗口中。完成后就不行了

那可能吗?

谢谢你!

Fed*_*eli 3

--progressbox选项就是您正在寻找的。看这个例子:

{ while true ; do date ; sleep 2 ; done ; } | dialog --progressbox 30 100
Run Code Online (Sandbox Code Playgroud)

它将显示打印到的数据stdout。在您的情况下,您可以将应用程序的输出通过管道传输到dialog命令,如下所示:

appname 2>&1 | dialog --progressbox 30 100
Run Code Online (Sandbox Code Playgroud)

如果你想OK在输出完成后显示一个按钮appname,你可以使用该--programbox选项。

有关详细信息,请参阅手册页