0

我正在尝试找到一种方法来修复此代码,以便该Exec=行可以正常工作。

[Desktop Entry]
Name=a
GenericName=a
Exec=a=$(service httpd restart 2>&1) && notify-send "$a"
Terminal=false
Type=Application
StartupNotify=true
MimeType=text/plain;
Icon=/root/Desktop/111.svg

这基本上是我通过复制另一个应用程序的快捷方式创建的面板快捷方式。

我对此进行了测试,它与..

Exec=notify-send 'a'

换句话说,它确实执行了一个命令。

但我试图在这一行中填充 2 个命令.. 如上所示。

4

1 回答 1

0

您需要启动一个包装外壳,如下所示:

Exec=bash -c "notifiy-send \"$(command)\""

注意:不要错过周围的双引号$(command)

你的情况是什么:

Exec=bash -c "notifiy-send \"$(service http restart)\""

或者,如果用户需要验证使用gksu

Exec=bash -c "notifiy-send \"$(gksu service http restart)\""
于 2013-08-08T08:37:16.863 回答