在 macOS 的 zsh 终端中执行 .sh 文件时,取决于你的需求和脚本的 shebang(第一行声明)。以下是几种情况和建议:
1. 如果脚本有 shebang(推荐)
脚本第一行指定了解释器,例如:
bash
#!/bin/bash
或
bash
#!/bin/zsh
可以直接执行:
bash
./xxx.sh
系统会自动使用 shebang 指定的解释器。
2. 如果想显式指定解释器
bash
# 用 bash 执行
bash xxx.sh
# 用 zsh 执行
zsh xxx.sh
3. 重要区别
4. 给脚本添加执行权限
如果经常执行,建议:
bash
chmod +x xxx.sh
./xxx.sh
5. 最佳实践
bash
# 先检查脚本 shebang
head -1 xxx.sh
# 如果有 shebang,确保有执行权限
chmod +x xxx.sh
./xxx.sh
# 如果没有 shebang或想强制使用特定shell
bash xxx.sh # 用 bash 执行
zsh xxx.sh # 用 zsh 执行
6. 判断当前默认shell
bash
echo $SHELL # 显示默认登录shell
echo $0 # 显示当前使用的shell
简单建议 :如果脚本是 bash 写的(多数情况),用 bash xxx.sh;如果是 zsh 写的,用 zsh xxx.sh。最好给脚本加上正确的 shebang。