【发布时间】:2014-06-13 14:02:13
【问题描述】:
我正在尝试编写一个 shell 脚本来提醒用户。我想在特定时间显示对话框。
我使用 zenity 来显示对话框消息
这是我的脚本
#!bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
at now <<EOF
/bin/zenity --info --text="hello word"
EOF
但它没有显示任何东西
请帮帮我。
【问题讨论】:
-
(a) 你的 shebang 行格式错误:应该是
#!/bin/bash; (b) 当你直接运行zenity命令时会发生什么? (/bin是zenity的一个不同寻常的位置 - 还有,为什么它不在$PATH中?)。 -
(a)但我只写了 '#!bin/bash' 它工作正常 (b)我命令
zenity --info --text="hello word"
它会直接弹出消息框。 -
如果您尝试使用此 shebang 直接运行脚本(假设您已使其可执行),它将无法运行。如果您显式调用
bash并将脚本作为参数传递给它,它将正常工作(第一行将只是另一条注释)。至于实际问题:在我看来@abannerth 的答案是正确的解决方案。