Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        6年前关闭。
                                                                                            
                
        
我正在努力想办法
修复此代码,以便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个命令..如上所述。

最佳答案

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

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)\""

10-07 19:31
查看更多