Shell 脚本桌面快捷方式

Shell 脚本桌面快捷方式

所以我尝试创建一个桌面快捷方式来执行一个非常简单的 shell 脚本。但是当我双击/右键单击->执行它时,它什么也没做。(或者至少我认为它什么也没做)

这是我的快捷方式和 shell 脚本的样子:请注意,快捷方式将“终端”设置为 1,我希望这意味着它会在新终端窗口中打开 shell 脚本。(我已经打开了几个终端,但尚未准备好使用(正在运行脚本))

捷径:

[Desktop Entry]
Version=1.0
Type=Application
Name=Test
Comment=Test
Exec=/home/(myusername)/test/test.sh
Icon=utilities-terminal
Terminal=true
StartupNotify=false
GenericName=Test

Shell 脚本:

#!/bin/sh
# (I tried both, /bin/bash and /bin/sh)
echo "hi"

答案1

桌面条目和 shell 脚本都应具有可执行权限。请执行以下操作:

$ chmod +x path_to_shortcut/shortcut.desktop
$ chmod +x path_to_script/test.sh  

更改脚本权限的另一种方法是右键单击它,转到属性 > 权限并检查允许作为程序执行文件

权限

答案2

以防有人通过谷歌搜索来到这里...在 14.04 中,执行 shell 脚本在已安装的驱动器上启动 Android Studio 对我来说是一件很麻烦的事。尝试了很多方法,但都不起作用。最终不得不编写以下代码并进行编译:

gcc -o studio studio.c 

然后从桌面创建“studio”的快捷方式,现在它终于可以正常工作了。

这是示例代码,您可以在 /bin/sh 之后替换该系统调用中的路径 (/media/.../studio.sh)。确保它是完整路径,并将“/bin/sh”保留在前面。

#include <stdio.h>
int main(void) {
  int ret = system("/bin/sh /media/jeneag/APPS/linux/android-studio/bin/studio.sh");
  printf("app ret code: %d\n", ret);
  return 0;
}

相关内容