趁周末總結一下對學習和使用go的環境變數的理解。 一、Go環境變數
在學習和使用go的第一步便是下載安裝並配置好環境,下載安裝過程直接參見go官網指導,這裡主要說一下對要配置的環境變數的理解。
(1)GOROOT:表示go在電腦上的安裝位置,如我go的安裝位置在/usr/local/go,我在設定檔中對應配置GOROOT=/usr/local/go。
(2)GOBIN:表示編譯器和連結器的安裝位置,在Go 1.0.3 及以後的版本可為空白,使用預設值$GOROOT/bin。
(3)GOPATH:一個儲存工作目錄的環境變數。可以設定多個工作目錄,那麼當你在之後使用 go get(遠程包安裝命令)時遠程包將會被安裝在第一個目錄下。如我的工作目錄為/home/xiaozhu/go,我在設定檔中對應配置GOPATH=/home/xiaozhu/go。
(4)PATH:以上只是配置好了go的幾個參數,為保證配置可以任何地方調用,還需要在PATH環境變數上添加go的路徑。如這裡我添加的是PATH=$GOROOT/bin:$PATH。同時,需要的話可以將自己go工作目錄的位置,PATH=$GOPATH/bin:$PATH。
此至,go的環境變數配置基本完成,在完成這些設定後,你需要在終端輸入指令 source .bashrc 以使這些環境變數生效。然後重啟終端,輸入 go env 和 env 來檢查環境變數是否設定正確。 二、系統設定檔的區別
上面一直提到“設定檔”,我們知道linux下常用的設定檔有/ect/profile、/etc/bashrc、~/.bash_profile和~/.bashrc,這四個有什麼區別呢。
(1)/ect/profile:登入作業系統時,為每個使用者佈建環境資訊,當使用者第一次登入時,該檔案被執行。也就是說這個檔案對每個shell都有效,用於擷取系統的環境資訊。
(2)/etc/bashrc:每一個運行bash shell的使用者執行此檔案,當bash shell被開啟時,該檔案被讀取。也就是說,當使用者shell執行了bash時,運行這個檔案。
(3)~/.bash_profile:每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次。預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案。
(4)~/.bashrc:每個使用者的bash shell的資訊,當使用者登入時以及每次開啟一個新的shell時,執行這個檔案。在這個檔案裡可以自訂使用者專屬的個人資訊。
當使用者登入系統時,首先讀的是/etc/profile裡面的配置,然後登入的如果是普通使用者再讀取使用者個人的~/.bashrc配置。