如何在 Mac 终端上运行 Shell 或 .sh 脚本

Ella

如果您在这里,您可能有兴趣学习在 Mac 上使用 Shell 脚本。无论您是 Shell 的新手,还是由于使用 UNIX 或 Linux 操作系统而熟悉 Shell,这里都适合您!

一般来说,本文不会介绍如何编写 shell 或 .sh 脚本,但我们将为您提供一些关于如何编写它们以及需要注意的事项的提示。

要点

  • Shell 或 .sh 脚本是纯文本文件,其中包含一个或多个终端命令,用于执行原本需要使用终端的任务。
  • 在 macOS Catalina 之前,默认脚本是 Bash 脚本。但 macOS Catalina 将此默认值更改为 zsh。这是重要信息,但并不限制您使用 Shell
  • 虽然 Mac 确实有一个文本编辑器来编辑 .sh 文件,但还有一些免费的替代品可能更适合更高级的脚本或初学者。
  • 创建 Shell 或 .sh 文件后,只需 3 个简单命令即可运行它!

首先,如果您不太熟悉 Shell(或 .sh)脚本,它们是纯文本文件,其中包含一个或多个 UNIX 命令(或终端命令),可用于执行原本使用终端执行的命令。

这些文件后面带有 .sh 后缀。由于 macOS 基于 UNIX 操作系统,因此在 Mac 上编写和执行 Shell 脚本相对容易。

在 macOS Catalina 之前,macOS 使用 Bash 脚本作为默认脚本,但 Catalina 将默认脚本更改为 zsh。然而,这只是默认设置,不会更改终端的其他选项。您仍然可以使用您最熟悉的脚本。

编写 Shell 或 .sh 脚本的基础知识

Shell 脚本或 .sh 文件通常是在文本编辑器中编写的。文本编辑应用程序是 Mac 的默认纯文本编辑器,但它不一定是脚本创建的最佳选择,尤其是在您不熟悉脚本编写的情况下。

如果您计划更定期地为 Mac 编写脚本,或者刚刚开始尝试编写更高级的脚本,则可能值得查找并下载其他编辑器。还有一些特定的脚本编写应用程序,非常适合初学者或高级脚本!

在 Mac 上创建 shell 文件的最简单方法是使用终端命令:

Cd YourFolder
touch CreateFileName.sh” 

此外,Shell 脚本始终以二进制路径开头,以便您的终端识别它是 Shell 文件。

它始于所谓的舍邦。这是主题标签和感叹号。然后,它给出 bin(代表二进制)和 sh(代表 shell)。

所以它看起来像这样:#!/bin/sh

出于我们的目的,我将使用以下 Shell 文件。它位于我的文档文件夹中。

运行 Shell 或 .sh 脚本

因此,通过 Mac 上的终端应用程序,我们将使用一系列命令来运行 shell 文件。它们看起来像这样:

阅读更多:Mac 终端中的权限被拒绝?尝试这个修复

第一个命令是将终端带到包含 Shell 脚本的文件夹。正如我上面所说,我的位于我的文档文件夹中。

cd YourFilePath

下一个命令更改文件的权限以允许您运行它。

chmod 755 YourFileName.sh

最后,该命令允许您运行该文件。

sh YourFileName.sh

附加运行命令

还有一些稍微复杂的附加命令,允许您以不同的方式或出于不同的原因运行该文件。此处显示了以下所有命令及其输出:

如果您的 .sh 文件需要特殊权限,请使用以下命令:

sudo sh YourFileName.sh

您可以使用命令代替 sh./你的文件名.sh。这可以让您的 Mac 知道如何读取 shebang 并使用正确的脚本类型。

最后,您可以使用以下命令:

  • sh-x你的文件名。用于调试模式
  • 什-v你的文件名。对于详细模式
  • 嘘-n你的文件名。检查语法

最后的话

不管你是否相信,在 Mac 上运行 Shell 或 .sh 脚本就像我们讨论的 3 个命令一样简单!尽管还有其他几种运行脚本的方法(其中一些已被讨论),但这些命令非常容易记住和执行。

如果您熟悉 Unix 或 Linux,那么在 macOS 上使用 Shell 脚本也会非常容易。对于 Shell 新用户来说,这也是一个很好的学习方式!