当我尝试执行 *.sh 文件时,我可以从终端运行它,但从文件管理器双击它时则不能运行。命令chmod +x Test.sh
和
chmod -x Test.sh
似乎不起作用。每次我双击该文件时,它都会在我的文本编辑器中打开。这是我的文件中的文本:
#!/bin/bash
xdg-open https://www.google.com
cd home/<username>/Desktop
mkdir Test
cd Test
touch test.txt
我使用的发行版是 Ubuntu 20.04。
答案1
chmod -x Welcome.sh
是你的确切问题。
-x
u-x
与“删除我的用户的执行权限”相同。你需要添加的执行权限chmod +x Welcome.sh
。
username
另外:您可以使用cd ~
或将目录更改为您的用户主目录(如果是的话) cd
。如果是其他用户的$HOME
,则使用cd /home/<user>
。
答案2
您可以使用xdg-mime query filetype shell_script.sh
来查找脚本的 mime 类型。然后,使用xdg-mime query default mime_type
来查看与 mime 类型关联的当前默认应用程序,该应用程序在xdg-open
调用时被调用。然后您可以使用xdg-mime default default_application.desktop mime_type
设置要使用的默认应用程序。
我的笔记本电脑上的命令输出是,
$ xdg-mime query filetype /opt/ros/foxy/setup.sh
application/x-shellscript
$ xdg-mime query default application/x-shellscript
gvim.desktop
答案3
我需要在将文件标记为可执行文件后注销并重新登录以应用更改。最快的方法是使用快捷方式Ctrl + Alt + Delete