我有一个"程序",当STDOUT运行时,它不断地向STDOUT输出一些东西.
我想对XDIALOG的输出做一些更改.
XDialog使用STDIN来更改对话框本身中的文本.
为此,我需要将所有输出/文本换行到"XXX\nMydesiredOutput\nXXX\n"之间
我到目前为止都试过了,但我就是想不通.
首先,我创建一个FIFO管道,如下所示:
mkfifo /tmp/mypipe
然后我就可以用我想要的程序写入该管道
myprogram > /tmp/mypipe
要打开/读取管道,我可以使用以下命令:
(while true ; do cat /tmp/mypipe; done)
我知道这需要一个单独的会议或后台进程.
当读数被"终止"时,管道关闭,程序也关闭.
所以从技术上讲,我可以像这样一起使用它:
(while true ; do cat /tmp/mypipe; done) | Xdialog --no-close --no-buttons --infobox "$RANDOM" 10 0 0
我知道如何将某个(后缀/追加)字符串添加到输出to X对话框中,但我不知道如何添加前缀,如"XXX\n"(ECHO-e"\n")