3

我正在运行一个 shell 脚本(Script.sh),它本身正在调用其他 shell 脚本(Script2.sh、Script3.sh ...等)。我以 root 用户身份登录并授予了所有脚本的执行权限。但是当我执行“ls -l”时,脚本仍然没有显示在文件属性列上的执行权限。“Script.sh”按以下语法运行:

root@freescale $ sh Script.sh

但是这个脚本不能执行被它调用的其他脚本(Script2.sh、Script3.sh)。错误报告为“权限被拒绝”

我已经通过 chmod 命令授予了执行权限,但是权限也没有改变,脚本(Script2.sh,Script3.sh ..)也没有执行。

我希望这个错误是由于在 Script3.sh 中调用 Script2.sh 的原因:

./Script2.sh
./Script3.sh

如果我将其写为: sh Script2.sh 它执行但无法执行在 Script2.sh 中调用的其他脚本并报告与“Permission Denied”相同的错误

4

2 回答 2

6

确保您的分区没有挂载noexec标志(顾名思义,这会阻止任何文件可执行)

于 2013-07-02T10:25:10.377 回答
1

请确保 script.sh 文件的权限和所有权,也请尝试

 # chmod 755 script.sh
 # chown root.root script.sh

谢谢。

于 2013-10-22T04:12:38.807 回答