所以我尝试创建一个桌面快捷方式来执行一个非常简单的 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;
}