.sh 文件不能在不显式调用 sh 的情况下执行

fur*_*ury 3 shell permissions

假设我有一个名为的文件run.sh,其中包含:

#! /bin/sh -x

x-www-browser index.html
Run Code Online (Sandbox Code Playgroud)

ls -l run.sh说:

-rwxr-xr-x 1 myusername myusername 39 Jan  9 19:32 run.sh
Run Code Online (Sandbox Code Playgroud)

./run.sh说:

bash: ./run.sh: Permission denied
Run Code Online (Sandbox Code Playgroud)

为什么它不起作用?为什么sh -x run.sh完美运行?


更多信息,因为这显然不是那么容易

如果我做 a sudo,它不会输出错误,但也不会做任何事情。

myusername@crunchbang:/mnt/data$ sudo ./run.sh
[sudo] password for myusername: 
myusername@crunchbang:/mnt/data$ 
Run Code Online (Sandbox Code Playgroud)

Ign*_*ams 13

文件系统run.sh已安装noexec

  • 如 `mount(1)` 手册页所述,`user` 意味着 `noexec,nosuid,nodev`。您需要将 `exec` 显式添加到挂载选项以覆盖它。 (2认同)