如何让MacOS .command shell脚本无需手动更新权限即可运行
Mac下自动为.command脚本添加执行权限的实现方法
以下方法均可免去每次手动执行chmod赋权的操作,可根据自身使用场景选择:
方案1:在脚本生成环节直接赋权(最推荐)
既然.command文件是你每日自动生成的,直接在生成逻辑的末尾追加赋权命令即可,生成的文件天然带执行权限,后续无需任何额外操作:chmod u+x 你生成的目标脚本路径/文件名.command
方案2:通过系统自带文件夹操作实现自动赋权
如果不方便修改原有脚本生成逻辑,可以用Mac自带的Folder Actions功能,监控脚本存放目录,新增.command文件时自动完成赋权:
- 打开系统自带的「自动操作(Automator)」应用,新建文档类型选择「文件夹操作」
- 在顶部「文件夹操作接收添加到【】的文件和文件夹」下拉菜单中,选择你日常存放生成的安装脚本的目录
- 在左侧操作库搜索「运行Shell脚本」,将该操作拖拽到右侧工作区
- Shell选项保持默认
/bin/bash即可,「传递输入」选项选择「作为自变量」,删除脚本编辑框内的默认内容,粘贴以下代码:
for file in "$@" do if [ "${file##*.}" = "command" ]; then chmod u+x "$file" fi done
- 按
Cmd+S保存该文件夹操作,可自定义命名如「自动赋权command脚本」,之后关闭自动操作即可生效
后续所有拖入该监控目录的.command文件,系统都会自动添加执行权限,双击即可直接运行。
方案3:单次运行快捷操作
如果不想做长期配置,不需要手动打开终端敲命令:右键点击目标.command文件,选择菜单里的「打开」,在弹出的安全提示框中再次点击「打开」,系统会自动为该文件留存执行权限,之后双击即可正常启动。
安全提示:不要为所有路径下的.command文件默认放开执行权限,仅为你自己存放可信脚本的目录配置自动赋权即可,避免恶意脚本被自动赋予执行权限带来风险。
内容的提问来源于stack exchange,提问作者Pete Vigeant
相关产品推荐
相关产品推荐

