直接加执行权限可解决“拒绝访问”报错,核心命令是 chmod +x;先用 ls -l 查看权限,若无 x 则执行 chmod +x script.sh,再用 ./script.sh 运行。

直接给脚本加执行权限就能解决“拒绝访问”或“Permission denied”报错,核心命令是 chmod +x。
确认当前权限是否缺失
运行脚本前先用 ls -l script.sh 查看权限。如果输出中没有 x(比如显示 -rw-r--r--),说明缺少执行权限,此时直接 ./script.sh 就会报错。
用 chmod +x 添加执行权限
这是最常用也最安全的方式:
-
chmod +x script.sh—— 给所有者、组和其他用户都加上执行权(快捷通用) -
chmod u+x script.sh—— 仅给自己(文件所有者)加执行权(更严谨) - 执行后再次
ls -l script.sh,应看到类似-rwxr-xr-x的结果
注意路径和调用方式
权限有了,但调用方式不对仍会失败:
- 必须用
./script.sh(相对路径)或/path/to/script.sh(绝对路径)运行 - 不能只输
script.sh(除非它在$PATH中,一般不在) - 如果提示 “No such file or directory”,可能是 shebang 行错误(如写了
#!/bin/bash但系统没 bash),或脚本用了 Windows 换行符(^M),可用dos2unix script.sh修复
特殊情况:脚本在根目录或系统路径下
普通用户无法直接修改 /usr/bin 等系统目录里的文件权限。此时:
- 建议把脚本复制到自己有写权限的目录(如
~/bin/),再chmod +x - 或用
bash script.sh绕过执行权限检查(不推荐长期使用,失去可执行语义) - 切勿随意对系统脚本
chmod 777,存在安全风险











