我正在运行一个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中调用的其他脚本并报告与“权限被拒绝”相同的错误
解决方法:
确保你的分区没有使用noexec标志挂载(顾名思义,它可以防止任何文件可执行)
标签:linux,shell,file-permissions
来源: https://codeday.me/bug/20190728/1566873.html