學習環境變量的作用於用法。
1.學習目錄
- 環境變量
- 命令的查找路徑與順序
- 添加自定義路徑到PATH環境變量
- 修改和刪除已有的變量
- 如何讓環境變量立即生效
1.變量
什麼是環境變量?
要解釋環境變量,得先明白變量是什麼,準確是說shell變量,所謂變量就是計算機中用來記錄一個值(可能是數值也可能是字符或者字符串)的符號,而這些符號將用於不同的運算處理中。通常變量與值是一對一的關係,可以通過表達式讀取它的值並賦值給其他變量,也可以直接指定數值賦值給任意變量。
爲了便於運算和處理,大部分編程語言會區分變量的類型,用於分別記錄數值,字符,字符串等數據類型。
1.1創建變量
declare [變量]
創建變量
1.2變量賦值
[變量]=[數值]
用“=”賦值運算符
1.3查找變量的值
echo $[變量]
2.環境變量
環境變量的作用域比自定義變量大,如shell的環境變量作用於他的自身和它的子進程。
2.1三種變量類型
1.當前shell進程私有用戶自定義變量,只在當前shell有效。
2.shell本身內建的變量。
3.從自定義變量導出的環境變量。
2.2打印環境變量的三個命令
set
顯示當前shell所有變量,包括其內建環境變量,用戶自定義變量及導出的環境變量。
env
顯示與當前用戶相關的環境變量,還可以讓命令在指定環境中運行。
export
顯示從shell中導出成爲環境變量的變量,也能通過他將自定義變量導出爲環境變量。
實際案例:
temp[變量名稱]=hello[變量設置值]
定義一個變量
export temp_env[變量名稱]=hello[變量設置值]
將自定義變量導出爲環境變量
參考:linux export命令詳解
如何將自定義變量設置爲環境變量
2.3環境變量永久生效
按照變量的生存週期來劃分,變量分爲兩種;
1.
永久:需要修改配置文件,變量永久生效。
打開/etc/profile
添加上想要添加的環境變量,這個環境變量就會變成永久的環境變量。
2.
臨時性的:使用export
命令即可,變量在關閉shell時失效。
3命令的查找路徑與順序
簡介:我們在shell中輸入一個命令,shell怎麼知道去哪裏找到這個命令並且執行的呢?答案就是這是通過環境變量PATH
來進行搜索的。PATH
保存了shell中執行的命令的搜索路徑。
4.添加自定義路徑到PATH環境變量
PATH
路徑是以:
作爲分隔符的!
PATH=$PATH:[路徑]
將自定義的絕對路徑添加到PATH環境變量中,這樣我們就可以在
任意目錄下使用這個【自定義路徑】的命令了。
但是,這樣還有一個問題,它只對當前的shell有效,我一旦退出終端再打開就就會發現又失效了,有沒有一種辦法讓我們可以讓它在全局變量中有效?或者是讓它每次使用的時候自動添加到到PATH中? 有!
4.1自動執行
在每個用戶的home目錄中,有一個shell每次啓動時都會默認執行一個配置腳本,用來初始化環境,添加一些用戶自定義的環境變量等等。
zsh的配置文件是.zshrc
命令:echo "PATH=$PATH:[自定義路徑]” >>.zshrc
>>
表示將標準輸出以追加的方式重定義到一個文件中
>
表示將標準輸出以覆蓋的方式重定義到一個文件中
Bash的配置命令是.bashrc
命令:echo ”PATH=$PATH:[自定義路徑]" >>.bashrc
5.修改和刪除變量
命令
${變量名#匹配字串}
從頭向後開始匹配,刪除符合匹配字串的最短數據
${變量名##匹配字串}
從頭向後開始匹配,刪除符合匹配字串的最長數據
${變量名%匹配字串}
從尾向前開始匹配,刪除符合匹配字串的最短數據
${變量名%%匹配字串}
從尾向前開始匹配,刪除符合匹配字串的最長數據
unset
刪除變量
6.讓環境變量立即生效
命令
source [配置的腳本文件]
讓環境變量立即生效。