macOS上编写Shell脚本需四步:创建文件、写入带正确shebang的代码、用chmod添加执行权限、用./script.sh运行;常见错误包括shebang格式错误、非纯文本保存和路径缺失。
编写简单的 shell 脚本在 macos 上并不复杂,关键是理解几个核心要素:脚本文件格式、解释器声明、执行权限和运行方式。macos 默认使用 zsh,但脚本中通常用 #!/bin/bash 或 #!/bin/zsh 明确指定解释器,确保行为一致。
创建一个可运行的 Hello World 脚本
打开终端,用任意文本编辑器(如 vim、nano 或 VS Code)新建文件:
- 执行
touch hello.sh创建空文件 - 用
vim hello.sh编辑,输入以下内容(注意第一行必须顶格、无空格):
echo "Hello, macOS terminal!"
保存并退出。这一行 #!/bin/bash 称为 shebang,告诉系统用 Bash 解释后续命令。
给脚本添加执行权限
刚创建的脚本默认不可执行。需用 chmod 命令授权:
-
chmod u+x hello.sh—— 仅给自己(user)添加执行权限 -
chmod +x hello.sh—— 给所有用户添加执行权限(常用)
执行 ls -l hello.sh 可看到权限位中出现 x,表示已具备可执行属性。
运行脚本的三种常用方式
-
./hello.sh—— 最常用,表示“当前目录下的 hello.sh” -
bash hello.sh—— 显式调用 bash 执行,不依赖 shebang -
source hello.sh或. hello.sh—— 在当前 shell 环境中执行(变量、cd 等会生效)
推荐优先使用 ./hello.sh,它最贴近真实脚本使用场景。
调试与常见错误提醒
如果运行时报错,先检查这几项:
- shebang 行是否写成
#!/bin/bash/(末尾多斜杠)或#! /bin/bash(开头有空格)—— 都会导致 “bad interpreter” 错误 - 脚本是否保存为纯文本(避免 Word 或 Pages 导出的富文本)
- 路径是否正确,比如在其他目录下执行时忘记加
./,系统会去$PATH查找,找不到就报 “command not found”
首次写脚本建议从单行 echo 开始,验证流程跑通后再逐步加入变量、条件判断等逻辑。


















