首页 文章

为什么shell脚本在直接执行时不会运行,而是使用/ usr / bin / sh或/ usr / bin / bash运行?

提问于
浏览
0

Shell脚本文件dummy.sh与-rw-r - r--权限,使用以下命令运行正常 .

/usr/bin/sh dummy.sh

(要么)

/usr/bin/bash dummy.sh

但最终会出现 bash: ./dummy.sh: Permission denied 错误,直接执行如下 . 这背后的原因是什么?

./dummy.sh

2 回答

  • 0

    您的脚本需要标记为系统的可执行文件 . 这是通过为所有者,组或世界其他地方设置"x"位来完成的 . 请参阅:Wikipedia - Unix permissions执行

    chmod 755 dummy.sh
    

    您将为脚本所有者设置读取,写入和执行权限,并为该组和世界其他地方读取和执行权限 .

  • 0

    使用以下任一选项为shell脚本提供“执行”权限:

    • chmod 744 dummy.sh

    • chmod u x dummy.sh

    请参考chmod documentation

相关问题