在 macOS 上双击脚本后窗口一闪而过,通常不是脚本完全没执行,而是脚本跑完后终端会话立刻退出,所以你来不及看到输出。排查这类问题,关键是先把“脚本能不能在终端里正常跑”与“双击后为什么留不住窗口”分开。
先在终端里单独执行脚本
第一步不要继续双击,先在 Terminal 里手动执行一次,确认脚本本身有没有路径、权限、依赖或语法问题。只有命令行执行正常,再去处理双击启动体验才有意义。
执行权限和 shebang 要正确
脚本文件需要有可执行权限,而且文件头最好明确写解释器,例如 #!/bin/zsh。否则 Finder 触发时,系统未必会按你预期的 shell 来执行。
为什么会一闪而过
因为脚本执行完毕后,终端窗口没有任何阻塞动作,就会直接结束。调试阶段可以临时加一条等待输入的命令,或者改成从已有终端窗口里启动,方便看到报错。
更稳妥的做法是什么
如果脚本是长期自用工具,通常更稳妥的是做成 .command 文件,或者通过 Automator、快捷指令、启动器去调用。这样比单纯双击任意脚本文件更可控。
结论
macOS 双击脚本闪退,大多是执行环境和退出时机问题。先保证脚本能在终端里稳定执行,再优化双击启动方式。
正文完




