嗨,我是芦苇Z。这是 macOS 新手进阶系列。
使用 shell 脚本(.sh 的文件),可以帮助我们自动完成一些重复任务。虽然可以在终端中输入命令行执行脚本文件,但很多时候我们希望直接双击就能运行会更加方便。不过默认情况下,双击这些文件只会在文本编辑器中打开它们,而不是执行。本文将介绍如何让双击 .sh 文件就能直接运行。
一句话说明:
首先设置 .sh 文件的默认打开方式为 Terminal.app (或终端.app),然后通过 chmod +x myscript.sh 命令为脚本文件添加可执行权限。
以下是详细步骤:
📂 设置 .sh 文件的默认打开方式为终端
此步骤只需操作一次,设置后所有 .sh 文件都会默认用终端打开。
找到一个 .sh 脚本文件(如果没有,可以先新建一个文本文件,然后将后缀改为 .sh)
选中文件,按下 ⌘ + I 键打开「显示简介」窗口,或者右键点击文件,选择「显示简介」
在「打开方式」部分,点击当前显示的应用程序(通常是文本编辑),然后选择「其他」
在弹出的窗口中,按住 ⌘ + Shift + G,输入 /Applications/Utilities/,找到并选择「终端.app」
点击窗口底部的「更改全部」按钮,然后在确认对话框中点击「继续」
🔑 为脚本文件添加可执行权限新建的 .sh 脚本文件默认没有可执行权限,需要通过终端命令来添加:
打开「终端」(可以通过 Spotlight 搜索,按下 ⌘ + 空格,输入「终端」并打开)
使用 cd 命令导航到脚本文件所在的文件夹,例如:cd ~/Documents/scripts
输入 chmod +x myscript.sh(将 myscript.sh 替换为你的脚本文件名),然后按下回车键
现在,你的脚本文件已经有了可执行权限。
🖱️ 双击运行脚本设置完成后,只需双击 .sh 文件,终端就会自动打开并执行脚本中的命令。
安全提示:运行未知来源的脚本可能存在风险,请确保你信任脚本的来源和内容。
💡 小技巧与常见问题
如何让终端在脚本执行完毕后不自动关闭?如果脚本执行很快就结束,终端窗口可能会一闪而过。你可以在脚本的最后添加一行:read -p "按 Enter 键退出...",这样终端会等待你按下回车键后才关闭。
如何创建一个简单的脚本?
打开「文本编辑」,创建一个新文件
输入 #!/bin/bash(这行告诉系统使用 bash 来执行脚本)
在下一行输入你想要执行的命令,例如 echo "Hello, macOS!"
保存文件,将后缀改为 .sh
按照前面的步骤添加可执行权限
脚本执行出错怎么办?如果脚本执行出错,检查以下几点:
确保第一行是 #!/bin/bash 或 #!/bin/zsh(取决于你使用的 shell)
确保脚本有可执行权限
检查脚本中的命令是否正确
小技巧:下次创建新脚本时,可以直接复制已有的带可执行权限的脚本文件,然后修改内容即可。