我正在运行一个 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脚本2.sh 它执行但无法执行在 Script2.sh 中调用的其他脚本,并报告与“权限被拒绝”相同的错误
最佳答案
确保您的分区没有挂载noexec
标志(顾名思义,它会阻止任何文件可执行)
关于linux - 权限问题,无法以 root 身份运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17421842/