如何在 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)。

另請閱讀:Mac 終端中的權限被拒絕?嘗試這個修復

所以它看起來像這樣:#!/bin/sh

出於我們的目的,我將使用以下 Shell 文件。它位於我的文檔文件夾中。

運行 Shell 或 .sh 腳本

因此,通過 Mac 上的終端​​應用程序,我們將使用一系列命令來運行 shell 文件。它們看起來像這樣:

第一個命令是將終端帶到包含 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 新用戶來說,這也是一個很好的學習方式!