【Linux】學習筆記(五) Linux 環境變量

環境變量 

變量的作用域即變量的有效範圍(比如一個函數中、一個源文件中或者全局範圍),在該範圍內只能有一個同名變量。一旦離開則該變量無效,如同不存在這個變量一般。

聲明變量 

declare tmp

 = 兩邊不可以輸入空格,否則會報錯

# 正確的賦值
$ tmp=shiyanlou

# 錯誤的賦值
$ tmp = shiyanlou

 讀取變量的值

使用 echo 命令和 $ 符號($ 符號用於表示引用一個變量的值,初學者經常忘記輸入

$ echo $tmp

 並不是任何形式的變量名都是可用的,變量名只能是英文字母、數字或者下劃線,且不能以數字作爲開頭。

 

三種變量

  • 當前 Shell 進程私有用戶自定義變量,如上面我們創建的 tmp 變量,只在當前 Shell 中有效。
  • Shell 本身內建的變量。
  • 從自定義變量導出的環境變量
命 令 說 明
set 顯示當前 Shell 所有變量,包括其內建環境變量(與 Shell 外觀等相關),用戶自定義變量及導出的環境變量。
env 顯示與當前用戶相關的環境變量,還可以讓命令在指定環境中運行。
export 顯示從 Shell 中導出成環境變量的變量,也能通過它將自定義變量導出爲環境變量。

 添加環境變量

PATH=$PATH:/home/shiyanlou/mybin

 

變量修改

變量設置方式 說明
${變量名#匹配字串} 從頭向後開始匹配,刪除符合匹配字串的最短數據
${變量名##匹配字串} 從頭向後開始匹配,刪除符合匹配字串的最長數據
${變量名%匹配字串} 從尾向前開始匹配,刪除符合匹配字串的最短數據
${變量名%%匹配字串} 從尾向前開始匹配,刪除符合匹配字串的最長數據
${變量名/舊的字串/新的字串} 將符合舊字串的第一個字串替換爲新的字串
${變量名//舊的字串/新的字串} 將符合舊字串的全部字串替換爲新的字串
$ mypath=$PATH
$ echo $mypath
$ mypath=${mypath%/home/shiyanlou/mybin}
# 或使用通配符,*表示任意多個任意字符
$ mypath=${mypath%*/mybin}

變量刪除

unset mypath

變量立即生效

source 命令來讓其立即生效

$ cd /home/shiyanlou
$ source .zshrc

 source別名 .

. ./.zshrc

使用.的時候,需要注意與表示當前路徑的那個點區分開。

注意第一個點後面有一個空格,而且後面的文件必須指定完整的絕對或相對路徑名,source 則不需要。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章