Linux:环境变量
環境變量
變量
變量定義:declare tmp,declare是可選的。
變量賦值:tmp=1,=號左右不要有空格。
變量引用:echo $tmp,不要忘記了$號。
環境變量
簡單理解了變量的概念,就很好解釋環境變量了,環境變量就是作用域比自定義變量要大,如Shell 的環境變量作用于自身和它的子進程。在所有的 UNIX 和類 UNIX 系統中,每個進程都有其各自的環境變量設置,且默認情況下,當一個進程被創建時,處理創建過程中明確指定的話,它將繼承其父進程的絕大部分環境設置。Shell 程序也作為一個進程運行在操作系統之上,而我們在 Shell中運行的大部分命令都將以 Shell 的子進程的方式運行。
通常會涉及三種環境變量:
- 私有環境變量,只在當前shell中有效,如:tmp=1。
- shell本身內建的環境變量。
- 從私有環境變量導出的環境變量。
set顯示shell中所有環境變量。env顯示用戶相關環境變量。export顯示導出的環境變量。
set>env>export。
PATH環境變量
修改PATH環境變量:PATH=$PATH:other_path。
在每個用戶的 home 目錄中有一個 Shell 每次啟動時會默認執行一個配置腳本,以初始化環境,包括添加一些用戶自定義環境變量等等。zsh 的配置文件是.zshrc,相應 Bash 的配置文件為.bashrc。它們在etc下還都有一個或多個全局的配置文件,不過我們一般只修改用戶目錄下的配置文件。
我們可以簡單的使用下面命令直接添加內容到.zshrc中:echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc。
上述命令中>>表示將標準輸出以追加的方式重定向到一個文件中,注意前面用到的>是以覆蓋的方式重定向到一個文件中,使用的時候一定要注意分辨。在指定文件不存在的情況下都會創建新的文件。
變量修改和刪除
變量修改有如下幾種方式:
- ${變量名#匹配字符串}:從頭向后匹配,刪除符合匹配的最短數據。
- ${變量名##匹配字符串}:從頭向后匹配,刪除符合匹配的最長數據。
- ${變量名%匹配字符串}:從后向前匹配,刪除匹配字符串的最短數據。
- ${變量名%%匹配字符串}:從后向前匹配,刪除匹配字符串的最長數據。
- ${變量名/舊字符串/新字符串}:將舊字符串的第一個匹配替換為新字符串。
- ${變量名//舊字符串/新字符串}:將舊字符串的所有匹配替換為新字符串。
使用 unset 刪除環境變量。
如何讓環境變量立即生效
在上面我們在 Shell 中修改了一個配置腳本文件之后(比如 zsh 的配置文件 home 目錄下的.zshrc),每次都要退出終端重新打開甚至重啟主機之后其才能生效,很是麻煩,我們可以使用source命令來讓其立即生效,如:
source .zshrc
source命令還有一個別名就是.,注意與表示當前路徑的那個點區分開,雖然形式一樣,但作用和使用方式一樣,上面的命令如果替換成.的方式就該是
. ./.zshrc
注意第一個點后面有一個空格,而且后面的文件必須指定完整的絕對或相對路徑名,source 則不需要。
總結
以上是生活随笔為你收集整理的Linux:环境变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA自带监控工具的介绍
- 下一篇: linux 其他常用命令