如何在 macOS 中設置 PATH 變量

已發表: 2021-09-08

通過終端執行程序是在 Mac 上執行操作的一種快速有效的方式。 它提供擴展功能和對程序功能和輸出的精細控制,否則其 GUI 等效項將缺乏這些功能。

set PATH environment variable on macOS

但是,通過 CLI 啟動程序有時也會帶來一些問題。 其中之一是當您嘗試執行某些程序/命令時,shell 向您拋出的command not found錯誤。

儘管您可以通過在命令前加上程序的絕對路徑來暫時克服這個問題,但如果您想多次使用該程序,這不是一個非常實用的方法。

解決該問題的另一種(讀取效率)解決方案是為此程序設置 PATH 變量。 跟隨我們描述 PATH 變量並列出如何在 macOS 中設置 PATH 變量的步驟。

目錄

什麼是 PATH 環境變量?

PATH 或 PATH 變量是所有類 Unix 和類 Unix 操作系統上的一種環境變量。 環境變量構成操作系統上各種程序或進程的名稱-值對,例如係統程序或進程的路徑、位置以及其他系統程序所需的其他基本信息。

談到 PATH,該變量包含一個列表,其中包含 shell 需要搜索以通過終端命令執行您請求的程序的所有目錄(用於添加到 PATH 的各種程序)。

為什麼需要設置 PATH 環境變量?

在 macOS 上,當您在終端中運行命令時,它會在 PATH 環境變量中的該命令中搜索所請求程序的路徑。 如果找到路徑地址,則成功執行命令並返回輸出。 如果沒有,您將收到命令未找到錯誤。

就像我們最初提到的那樣,在命令中指定安裝/存儲程序的目錄的絕對路徑或完整路徑是克服此錯誤的一種方法。 但不幸的是,由於一遍又一遍地這樣做會佔用您大量的時間和精力,因此這不是一種非常有效的方法,並且在您想要重複運行命令時無法使用。

另一方面,如果您在 PATH 變量中設置該程序的路徑,您可以輕鬆地在系統上的任何目錄中使用它,而無需指定其絕對路徑。

基本上,這意味著不是像這樣運行您的命令:

/path/to/program/script.sh

你可以簡單地使用:

script.sh

在文件系統上的任何目錄中。

如何在 macOS 中設置 PATH 變量

在 macOS 中設置 PATH 變量需要使用 CLI - 與 Windows 不同,它允許您使用 GUI 和 CLI 來完成。 另外,根據您的要求,有兩種方法可以在 Mac 上設置 PATH:臨時永久

當您臨時設置 PATH 時,您的路徑更改僅適用於當前會話 - 註銷會話會將 PATH 恢復到之前的狀態。 相反,永久設置 PATH 將永久保留您的更改並將它們應用到您的所有會話 - 即使在您啟動新的終端會話或重新啟動 Mac 之後也是如此。

有了它,請按照以下部分中的步驟在 Mac 上設置 PATH。

也在 TechPP 上

識別當前的 PATH 條目

在將程序的路徑添加到 Mac 上的 PATH 變量之前,您應該首先確定係統 PATH 中的當前條目,以驗證是否沒有相同的條目。

要查看當前的 PATH 設置,請打開終端應用程序並運行:

echo $PATH

PATh environment variable output

如果您正在為新程序/腳本設置 PATH,則可以跳過此步驟。

臨時設置 PATH 變量

一旦您確定了當前的 PATH 條目,您現在可以為任何程序設置 PATH。 如果您只想在當前會話中通過終端使用/執行程序,可以使用以下命令臨時設置其路徑:

export PATH=$PATH:absolute/path/to/program/

例如,如果你想為 Python 3.6 設置 PATH,你可以運行:

export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin

這樣做將為程序設置一個臨時變量,您可以在當前終端會話或活動終端窗口的命令中使用該變量。

永久設置 PATH 變量

如果您想定期使用某個程序,則必須永久設置其路徑。 為此,您需要訪問 shell 的配置或配置文件並將程序的路徑添加到其中。

根據您在 Mac 上運行的 macOS 版本,這可以通過bash shell 或zsh (z shell) 來完成。

  • 對於舊 macOS 版本(Catalina 之前): bash.bashrc.bash_profile
  • 對於 macOS Catalina 及更高版本: zsh.zshrc 或 .zsh_profile

現在您知道需要在其中添加程序/腳本路徑的文件,打開終端並根據您的 shell 輸入命令:

對於 bash

nano ~/.bash_profile

或者

nano ~/.bashrc

對於 zsh:

nano ~/.zsh_profile

或者

nano ~/.zshrc

如果您的系統中缺少配置文件或配置文件,此命令將創建一個新的; 如果它存在,它會打開相同的,然後你可以編輯它。

現在,您所要做的就是在文件系統上找到程序或腳本的完整路徑。 為此,請打開 Finder 並導航到存儲或安裝程序或腳本的目錄。 在這裡,右鍵單擊程序/腳本,按Option鍵,然後選擇Copy xyz as Pathname ,其中xyz是程序名稱。

也在 TechPP 上

返回終端並在 nano 或任何其他文本編輯器中為您的 shell 打開適當的配置文件或配置文件。 在文件中,輸入以下行:

export PATH=$PATH:/path/to/directory

…您需要將path/to/directory替換為您在上一步中復制的確切路徑。

或者,如果文件已經包含路徑條目,請在該行後面附加一個冒號 ( : ),然後是:

/path/to/directory

點擊Control + O將您的更改寫入文件。 當提示確認文件名時,點擊Return以繼續使用默認值。 按Control + X退出編輯器。

現在,通過打開終端窗口並運行來驗證是否已添加路徑:

echo $PATH

最後,關閉終端窗口並重新打開它以開始一個新會話。 或者,您可以運行以下命令立即應用更改:

source ~/.bashrc

或者

source ~/.bash_profile

或者

source ~/.zshrc

或者

source ~/.zsh_profile

完成後,您應該能夠從文件系統中的任何目錄運行程序或腳本。

添加到 PATH Mac:通過終端從任何地方訪問程序

將 PATH 環境變量設置為使用您要使用的程序的路徑後,您現在可以通過終端從文件系統中的任何位置執行/訪問它。 如果您使用 Python 或 shell 腳本來自動化您的工作流程,那麼為這些腳本設置 PATH 可以簡化您的工作,因為您現在可以在任何目錄中訪問它們,而無需指定它們的絕對路徑。

關於在 macOS 上設置 PATH 的常見問題解答

1. 如何在 Catalina Mac 中設置環境變量?

如果您運行的是 macOS Catalina(或更高版本),設置環境變量就像修改 shell 配置或配置文件以合併您想要在任何地方訪問的程序/腳本的路徑一樣簡單。 由於 macOS 使用 zsh 作為 Catalina(及更高版本)版本的默認 shell,您只需編輯.zshrc 或 .zsh_profile文件並添加程序或腳本的路徑。 請按照帖子前面的步驟了解執行此操作的步驟和不同方法。

2. 如何在 Mac 上永久設置 PATH?

在 Mac 上永久設置 PATH 意味著您的 PATH 環境變量更改不僅限於您當前的 shell 會話,這與臨時變量設置不同。 因此,即使您開始新會話或重新啟動 Mac,系統的 shell 也可以繼續訪問它。 要在 Mac 上永久設置 PATH,您只需打開 bash 文件( .zshrc 或 .zsh_profile 或 zsh 文件( .zshrc 或 .zsh_profile 並將程序或腳本的 PATH 添加到其中。 上述指南中列出的操作步驟。

3. 如何在 Mac 上找到 PATH 變量?

要在 Mac 上查找 PATH 變量,請打開終端窗口並運行echo $PATH 。 之後,shell 將返回當前在 Mac 上的 PATH 環境變量下列出的所有目錄的列表。