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

如果您在这里,您可能有兴趣学习在Mac上使用Shell脚本。无论您是完全不熟悉外壳,还是由于使用UNIX或Linux操作系统的经验而熟悉Shell,这都是您的理想选择!

通常,本文将不涵盖如何编写Shell或.SH脚本,但是我们将为您提供一些有关如何编写它们以及寻找内容的提示。

关键要点

  • Shell或.SH脚本是包含一个或多个终端命令的纯文本文件,以执行否则使用终端的任务。
  • 在Macos Catalina之前,默认脚本是Bash脚本。但是Macos Catalina将此默认设置更改为ZSH。这是重要的信息,但不限制您使用shell
  • 尽管Mac确实有一个文本编辑器要编辑.SH文件,但是对于更高级的脚本或初学者来说,有一些免费的替代方案。
  • 一旦创建了shell或.sh文件,这是一个简单的3个命令来运行它!

什么是shell或.sh脚本?

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

文件之后是.sh后缀。由于MACOS基于UNIX操作系统,因此这使得在Mac上编写和执行Shell脚本相对容易。

在Macos Catalina之前,MacOS将Bash脚本用作默认值,但Catalina将默认值更改为ZSH。但是,这只是默认值,并且不会更改终端的其他选项。您仍然可以使用最适合的脚本。

shell脚本或.sh文件通常写在文本编辑中。文本编辑应用程序是Mac的默认纯文本编辑器,但不一定是脚本创建的最佳方法,尤其是如果您不熟悉脚本写作。

如果您打算更定期地为Mac编写脚本,或者只是启动并尝试编写一个更高级的脚本,则可能值得查找和下载其他编辑器。还有一些特定的剧本应用程序,非常适合初学者或高级脚本!

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

Cd YourFolder
touch CreateFileName.sh” 

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

它始于所谓的希邦。这是主题标签和感叹号。然后,它给出了代表二进制的垃圾箱,而sh则为外壳。

因此看起来像这样:#!/bin/sh

出于我们的目的,我将使用以下外壳文件。这位于我的文档文件夹中。

运行外壳或.sh脚本

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

第一个命令是使用Shell脚本将您的终端带到文件夹。如上所述,我的文档文件夹中。

cd YourFilePath

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

chmod 755 YourFileName.sh

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

sh YourFileName.sh

其他运行命令

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

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

sudo sh YourFileName.sh

您可以使用命令,而不是SH./ yourfilename.sh。这使您的Mac知道可以读取Shebang并使用正确的脚本类型。

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

  • sh -x您的fileName。sh用于调试模式
  • sh -V您的fileName。sh对于详细模式
  • sh -n您的fileName。sh检查语法

最后一句话

信不信由你,在Mac上运行一个外壳或.SH脚本与我们讨论的3个命令一样简单!尽管还有其他几种运行脚本的方法(有些讨论了),但这些命令非常容易记住和执行。

如果您熟悉UNIX或Linux,则使用MacOS上的Shell脚本可以很容易地拾取。这也是新的外壳用户学习的好方法!