【发布时间】:2015-03-24 05:27:23
【问题描述】:
我创建了一个简单的测试脚本 test.sh。我可以使用./test.sh 运行它,但是当我尝试sudo ./test.sh 时出现错误。
test.sh 的内容:
$ cat test.sh
#!/bin/bash
echo Test worked
echo end
文件权限:
$ ls -l
-rwxrwxrwx 1 spark spark 40 Jan 25 12:20 test.sh
运行脚本:
$ ./test.sh
Test worked
end
使用 sudo 运行脚本:
$ sudo ./test.sh
sudo: ./test.sh: command not found
为什么会发生这种情况?
【问题讨论】:
-
这对我有用;
bash --version透露了什么? -
哇,一个世界可写的脚本意味着要以root权限执行?你能告诉我在什么系统上我可以找到那个脚本吗?我喜欢它!
-
@NickThompson
$ bash --version GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu) ... -
听起来像是挂载了 noexec 标志的文件系统。
标签: linux bash shell unix sudo