我正在 gnome .desktop 文件中运行一个 shell 脚本,以将我的磁盘备份到外部磁盘,以 root 身份运行:
Exec:gksu /home/nhiton/bin/sync_home_to_alpha.bash
但是,我似乎无法做任何事情来了解脚本是否成功退出。我尝试了以下操作:
- 在脚本末尾添加一个睡眠,这样我就有时间查看结果,然后立即退出
- 我尝试运行不同的脚本来从通知发送中分离出 gksu 部分:
。
Exec:/home/nhilton/bin/test_sync.bash
# test_sync.bash
gksu sync_home_to_alpha.bash
if [ $? -eq 0 ]; then
notify-send "SUCCESS"
else
notify-send "FAILURE"
fi
似乎没有任何组合能让我发出脚本的退出状态信号。
帮助!
答案1
执行以下一行:
Exec=bash -c "/home/nhilton/bin/test_sync.bash && notify-send Success || notify-send Fail"
重点是if
和&&
结构是 shell 语法,因此你实际上需要一个 shell 来理解它们。因此使用bash -c
注意单引号和双引号,并仔细检查 .desktop 文件中的其他参数