我有一个命令行实用程序,可以通过在目录中运行命令来生成文本字符串:
./Utility -P
它在终端上打印输出。如何制作一个 shell 脚本,在信息对话框中显示生成的字符串,其中可以用鼠标选择并复制输出。所以我需要将信息从 shell 脚本发送到 GUI 桌面环境。我的意思是通过双击它来启动 shell 脚本,这样就不再需要每次都打开终端并输入命令了。
编辑:工作示例
#!/bin/bash
output="$( ./Utility -P )"
zenity --info --text "${output}" --icon-name=info --title "Daily test" --width=300 --height=80
这将捕获此子 shell 的标准输出并将其保存到名为 的环境变量中
output
。您可以将其命名为任何其他名称。还有其他工具,例如 yad(我记得是 zenity 的一个分支),或者甚至有一种方法可以使用桌面的通知实用程序(使用 dbus)(如果您有的话)。假设您有 xfce4-notification-daemon 或其他使用该通知内容的守护程序:
其中第一个字符串将作为通知的“标题”,第二个字符串将作为通知的“正文”。
编辑:或者即使
xmessage "${output}"
您喜欢最小依赖项,尽管假设${output}
与 支持的选项之一不匹配xmessage
。或者:./Utility -P | xmessage -file -
没有问题。