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

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

我怎样才能将程序的输出重新路由到dialog窗口而不是stdout使用stderrbash?

我不想使用 将该输出捕获到变量中variable=$(appname),然后使用 显示它dialog --msgbox。我希望有类似运行时重新路由的功能,以便程序的输出dialog在生成时显示在该窗口中。而不是在完成后。

那可能吗?

谢谢你!

答案1

这个--progressbox选项就是你要找的。看这个例子:

{ while true ; do date ; sleep 2 ; done ; } | dialog --progressbox 30 100

它将在打印时显示数据。对于您的情况,您可以像这样stdout将应用程序的输出通过管道传输到命令:dialog

appname 2>&1 | dialog --progressbox 30 100

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

手册页了解详情。

相关内容