Mac系統下的zip壓縮包解壓到Windows下出現亂碼的解決方法

Tynam.Yang發表於2020-10-08


環境變數

環境變數是具有特殊名字的一個特定物件,包含了一個或多個應用程式執行所需的資訊。(例如PATH,可執行程式的搜尋路徑,當要求系統執行一個程式,而沒告訴系統它的具體路徑時,系統就要在PTAH值的路徑中尋找此程式,找到去執行)簡單說,就是指定一個目錄,執行軟體的時候,相關的程式將會按照該目錄尋找相關檔案。

分類

環境變數不僅有PATH,系統的環境變數還有:

C_INCLUDE_PATH 標頭檔案的搜尋路徑
LIBRARY_PATH靜態庫搜尋路徑(編譯時包含)
LD_LIBRARY_PATH動態庫搜尋路徑(連結時包含)

環境變數可以分成使用者自定義的環境變數和系統級別的環境變數。

  • 使用者級別環境變數定義檔案:~/.bashrc、~/.profile(部分系統為:~/.bash_profile)
  • 系統級別環境變數定義檔案:/etc/bashrc、/etc/profile(部分系統為:/etc/bash_profile)、/etc/environment

另外在使用者環境變數中,系統會首先讀取 ~/.bash_profile(或者 ~/.profile)檔案,如果沒有該檔案則讀取 ~/.bash_login,根據這些檔案中內容再去讀取 ~/.bashrc。

檢視環境變數

  • 使用echo命令檢視單個環境變數。例如:
echo $PATH 
  • 使用env檢視所有環境變數。例如:
env 
  • 使用set檢視所有本地定義的環境變數。

設定環境變數

  • 永久的:需要修改配置檔案,變數永久生效。對所有的使用者的都起作用的環境變數。

修改 /etc/profile 檔案,如果你的計算機僅僅作為開發使用時推存使用這種方法,因為所有使用者的shell都有權使用這個環境變數,可能會給系統帶來安全性問題。這裡是針對所有的使用者的,所有的shell

vi /etc/profile

# 在 /etc/profile 的最下面新增:

export PATH="$PATH:/NEW_PATH"

使用相同的使用者開啟新的終端時或者手動source ~/.bash_profile生效。

  • 臨時的:使用export命令宣告即可,變數在關閉shell時失效。只對當前的shell 起作用的環境變數。

在控制檯中設定,他只對當前的shell 起作用,關閉shell或使用其他shell是無效的:

直接控制檯中輸入 : 

$PATH="$PATH":/NEW_PATH (關閉shell Path會還原為原來的path)

設定後會立即生效,且僅對當前使用者有效,當前終端有效,當視窗關閉後無效。

  • 指定使用者的:修改bashrc檔案。針對當前特定的使用者起作用的環境變數。
vi ~/.bashrc

# 在下面新增

Export PATH="$PATH:/NEW_PATH"

使用相同的使用者開啟新的終端時或者手動執行source ~/.bashrc後生效,且僅對當前使用者有效。

程式執行

如果程式設定了環境變數,則直接輸入程式名便可以執行
如果程式未設定環境變數,但是在當前路徑下,執行時需要在前面新增 ./ 表示當前路徑,例如:./python3
如果程式未設定環境變數,可以使用全路徑進行執行,例如:/xx/xx/xx

常用的環境變數

PATH 決定了shell將到哪些目錄中尋找命令或程式 
HOME 當前使用者主目錄 
HISTSIZE 歷史記錄數 
LOGNAME 當前使用者的登入名 
HOSTNAME 指主機的名稱 
SHELL 當前使用者Shell型別 
LANGUGE  語言相關的環境變數,多語言可以修改此環境變數 
MAIL 當前使用者的郵件存放目錄 
PS1 基本提示符,對於root使用者是#,對於普通使用者是$

相關文章