在macOS中运行.sh脚本需先通过终端使用chmod +x赋予执行权限,再用./脚本名.sh运行;2. 也可直接通过bash 脚本名.sh命令无需赋权执行;3. 使用绝对路径配合chmod可实现任意位置调用;4. 借助Automator可将脚本封装为应用程序,双击运行并按提示授权。

如果您在macOS系统中下载或创建了一个.sh脚本文件,但不知道如何执行它,可能是因为系统默认不允许直接运行脚本文件。以下是几种在mac上成功运行.sh脚本的方法。
本文运行环境:MacBook Pro,macOS Sonoma
一、通过终端赋予脚本执行权限
在macOS中,所有可执行脚本必须具备执行权限。若未设置权限,即使使用命令调用也会被拒绝执行。因此需要先修改文件权限。
1、打开“终端”应用,可通过聚焦搜索(Command + 空格)输入“终端”快速启动。
2、使用cd命令进入.sh脚本所在的目录,例如脚本位于桌面,输入:cd ~/Desktop。
3、执行chmod命令添加执行权限,命令格式为:chmod +x 脚本名.sh,例如:chmod +x install.sh。
4、权限设置完成后,即可通过./命令运行脚本。
二、在终端中直接调用bash执行脚本
即使不赋予执行权限,也可以通过显式调用bash解释器来运行脚本,这种方式适用于临时测试或一次性执行。
1、确保终端已进入脚本所在目录,例如使用:cd ~/Downloads 切换到下载目录。
2、输入命令:bash 脚本名.sh,如:bash setup.sh。
3、脚本将立即开始执行,无需提前设置权限。
4、如果脚本中包含sudo命令操作,系统会提示输入管理员密码以完成特权操作。
三、使用绝对路径运行带权限的脚本
当脚本位于深层目录或需要从任意位置调用时,使用绝对路径结合执行权限可提高灵活性。
1、获取脚本完整路径,可在终端中拖入脚本文件自动填充路径。
2、使用chmod命令添加执行权限,例如:chmod +x /Users/username/scripts/deploy.sh。
3、通过绝对路径运行脚本:/Users/username/scripts/deploy.sh。
4、也可在命令前加上sudo以管理员身份运行:sudo /Users/username/scripts/deploy.sh。
四、通过Automator创建可点击的应用程序
对于不熟悉终端的用户,可以将.sh脚本封装为图形化应用程序,实现双击运行。
1、打开“Automator”应用,选择“新建文稿”,类型选择“应用程序”。
2、在左侧操作库中找到“运行Shell脚本”,将其拖入右侧工作区。
3、在脚本区域输入要执行的命令,例如:/bin/bash ~/Desktop/script.sh。
4、点击顶部“文件”→“存储为应用程序”,保存到桌面或其他方便的位置。
5、双击生成的应用即可运行脚本,首次运行时系统可能会提示安全性警告,需在“系统设置-隐私与安全性”中允许。










