我怎样才能将程序的输出重新路由到dialog
窗口而不是stdout
使用stderr
bash?
我不想使用 将该输出捕获到变量中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
选项。
看手册页了解详情。