将echo命令发送到外部xTerm

时间:2017-08-14 09:52:28

标签: bash logging echo xterm

我有一个bash脚本,我希望能够在xterm中保存日志,并且能够随时向其发送回声。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

检查GPG_TTY会话中的xterm变量。它应该具有类似于

的值
GPG_TTY=/dev/pts/2

此方法应适用于支持GNU Pinentry的终端。

确定当前终端名称的另一个选项是使用

readlink /proc/self/fd/0 

最后一种方法仅适用于Linux

现在,如果你的bash脚本实现了一个命令

echo "Hello, world!" > /dev/pts/2

此行应显示在xterm屏幕上。

答案 1 :(得分:1)

我设法通过运行xterm并使用while循环清除屏幕,读取日志文件的内容,暂停一秒,然后再循环来设置控制台。这是命令:

xterm -T Console -e "while true: do cls && cat ${0}-LOG.txt && sleep 1; done"

然后向控制台发送内容:

echo -e "\e[91;1mTest" >> ${0}-LOG.txt

控制台将每秒更新一次。