给脚本添加执行权限需先用 chmod +x 或 chmod u+x 设置,再通过 ./script.sh 或绝对路径执行;若仍报错,需清除 macos 隔离属性(xattr -d com.apple.quarantine)并授予终端完全磁盘访问权限。
直接用 chmod +x 命令就能给脚本加执行权限,这是最核心、最不可跳过的一步。
确认脚本位置并进入对应目录
打开终端,用 cd 切换到脚本所在文件夹。比如脚本在桌面,就输入:
- cd ~/Desktop
再用 ls -l 脚本名.sh 查看当前权限。如果输出里权限部分是 -rw-r--r--(没有 x),说明确实没执行权。
运行 chmod +x 添加执行权限
在当前目录下执行:
- chmod +x your-script.sh(给所有用户加执行权)
- 或更安全一点:chmod u+x your-script.sh(只给自己加执行权)
执行后再次 ls -l your-script.sh,应该能看到权限变成类似 -rwxr-xr-x 或 -rwxr--r--——关键是有 x 了。
注意两个常见干扰项
即使加了 x 权限,有时仍报 Permission denied,大概率是下面两个原因:
- 脚本是从网页或邮件下载的,被 macOS 自动打上了隔离属性。运行 xattr -d com.apple.quarantine your-script.sh 清除它
- 终端本身没获得「完全磁盘访问权限」。需前往「系统设置 → 隐私与安全性 → 完全磁盘访问权限」,解锁后把终端拖进去
加完权限后怎么运行
必须带路径调用,不能只输名字:
- 当前目录下:输入 ./your-script.sh(开头的 ./ 不可省)
- 不想进目录:用绝对路径,比如 /Users/xxx/Desktop/your-script.sh
- 临时测试不改权限:也可直接 zsh your-script.sh 或 bash your-script.sh










