执行Sublime Text时遭遇ZSH权限拒绝问题求助
解决方案
在macOS上,.app后缀的文件本质是包目录,并非可执行程序,直接运行目录自然会提示权限拒绝。真正的可执行二进制文件存放在包内部的Contents/MacOS路径下,你需要执行这个文件才能直接启动应用。
直接执行内部可执行文件
直接调用Sublime Text的核心可执行程序:
/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text
如果要在脚本中用它打开指定文件,直接追加文件路径即可:
/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text /path/to/your/target/file
简化调用(推荐)
为了方便日常使用,可以给这个路径设置别名:
- 编辑你的shell配置文件(比如zsh的
~/.zshrc):
nano ~/.zshrc
- 添加以下别名:
alias subl="/Applications/Sublime Text.app/Contents/MacOS/Sublime Text"
- 使配置生效:
source ~/.zshrc
之后在脚本或终端中,直接用subl /path/to/file就能打开目标文件。
替代方案:用open命令适配脚本需求
如果更习惯macOS的open命令,也可以在脚本中用它打开指定文件,效果一致:
open -a "Sublime Text" /path/to/your/target/file
你之前修改.app目录的权限和所有者是无效的,因为问题根本不在目录权限上——目录的执行权限仅控制是否能进入目录,而非运行应用本身。
内容的提问来源于stack exchange,提问作者Andi Giga
相关产品推荐
相关产品推荐

