macOS 如何双击即可运行 .sh 脚本文件

嗨,我是芦苇Z。这是 macOS 新手进阶系列。

使用 shell 脚本(.sh 的文件),可以帮助我们自动完成一些重复任务。虽然可以在终端中输入命令行执行脚本文件,但很多时候我们希望直接双击就能运行会更加方便。不过默认情况下,双击这些文件只会在文本编辑器中打开它们,而不是执行。本文将介绍如何让双击 .sh 文件就能直接运行。

一句话说明:
首先设置 .sh 文件的默认打开方式为 Terminal.app (或终端.app),然后通过 chmod +x myscript.sh 命令为脚本文件添加可执行权限。

以下是详细步骤:

此步骤只需操作一次,设置后所有 .sh 文件都会默认用终端打开。

  1. 找到一个 .sh 脚本文件(如果没有,可以先新建一个文本文件,然后将后缀改为 .sh)
  2. 选中文件,按下 + I 键打开「显示简介」窗口,或者右键点击文件,选择「显示简介」
  3. 在「打开方式」部分,点击当前显示的应用程序(通常是文本编辑),然后选择「其他」
  4. 在弹出的窗口中,按住 + Shift + G,输入 /Applications/Utilities/,找到并选择「终端.app」
  5. 点击窗口底部的「更改全部」按钮,然后在确认对话框中点击「继续」

/attachments/89e63a7105d59994e929696702e8e55a.png

新建的 .sh 脚本文件默认没有可执行权限,需要通过终端命令来添加:

  1. 打开「终端」(可以通过 Spotlight 搜索,按下 + 空格,输入「终端」并打开)
  2. 使用 cd 命令导航到脚本文件所在的文件夹,例如:cd ~/Documents/scripts
  3. 输入 chmod +x myscript.sh(将 myscript.sh 替换为你的脚本文件名),然后按下回车键

现在,你的脚本文件已经有了可执行权限。

设置完成后,只需双击 .sh 文件,终端就会自动打开并执行脚本中的命令。

安全提示:运行未知来源的脚本可能存在风险,请确保你信任脚本的来源和内容。

如果脚本执行很快就结束,终端窗口可能会一闪而过。你可以在脚本的最后添加一行:read -p "按 Enter 键退出...",这样终端会等待你按下回车键后才关闭。

  1. 打开「文本编辑」,创建一个新文件
  2. 输入 #!/bin/bash(这行告诉系统使用 bash 来执行脚本)
  3. 在下一行输入你想要执行的命令,例如 echo "Hello, macOS!"
  4. 保存文件,将后缀改为 .sh
  5. 按照前面的步骤添加可执行权限

如果脚本执行出错,检查以下几点:

  1. 确保第一行是 #!/bin/bash#!/bin/zsh(取决于你使用的 shell)
  2. 确保脚本有可执行权限
  3. 检查脚本中的命令是否正确

小技巧:下次创建新脚本时,可以直接复制已有的带可执行权限的脚本文件,然后修改内容即可。


推广:阿里云百炼大模型 9折优惠 + 所有模型各百万免费Token →