R1-008 Shell環境變數
通常情況下,每個程式都有自己的“環境”,這個環境是由一組變數組成的,這些變數中存有程式可能需要引用的資訊。在這種情況下,Shell與一個一般的程式沒什麼區別。
每次當一個Shell啟動時,它都將建立適合於自己環境變數的Shell變數。更新或者新增一個新的環境變數的話,這個Shell都會立即更新它自己的環境,換言之,更改或增加的變數會立即生效,並且所有後繼生成的Shell子程式都會繼承這個環境。
如果一個指令碼要設定一個環境變數,那麼需要將這些變數‘export’出來,也就是需要通知到指令碼本地的環境。這就是export命令的功能。
一個指令碼只能夠export變數到這個指令碼所產生的子程式,也就是說只能對這個指令碼所產生的命令和程式起作用。如果指令碼是從命令列中呼叫的,那麼這個指令碼鎖export的變數是不能影響命令列環境的。也就是說,子程式是不能export變數來影響產生自己的父程式的環境的。但是,當使用source命令執行指令碼時,因為沒有子程式的產生,此時指令碼中的export命令將會影響父程式的環境。
每次當一個Shell啟動時,它都將建立適合於自己環境變數的Shell變數。更新或者新增一個新的環境變數的話,這個Shell都會立即更新它自己的環境,換言之,更改或增加的變數會立即生效,並且所有後繼生成的Shell子程式都會繼承這個環境。
如果一個指令碼要設定一個環境變數,那麼需要將這些變數‘export’出來,也就是需要通知到指令碼本地的環境。這就是export命令的功能。
一個指令碼只能夠export變數到這個指令碼所產生的子程式,也就是說只能對這個指令碼所產生的命令和程式起作用。如果指令碼是從命令列中呼叫的,那麼這個指令碼鎖export的變數是不能影響命令列環境的。也就是說,子程式是不能export變數來影響產生自己的父程式的環境的。但是,當使用source命令執行指令碼時,因為沒有子程式的產生,此時指令碼中的export命令將會影響父程式的環境。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29067253/viewspace-2134609/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Shell配置環境變數變數
- 簡述SHELL全域性環境變數與局變環境變數變數
- Linux中bash shell環境變數Linux變數
- shell全域性(系統)環境變數變數
- shell(2)永久環境變數和字串顯位變數字串
- 『忘了再學』Shell基礎 — 14、環境變數(二)變數
- 『忘了再學』Shell基礎 — 13、環境變數(一)變數
- 『忘了再學』Shell基礎 — 15、環境變數(三)變數
- GBASEDBTSERVER 環境變數7GBASEDBTSHMBASE 環境變數 (UNIX™)Server變數
- Java 環境變數Java變數
- jdk環境變數JDK變數
- postman環境變數Postman變數
- DOS環境變數變數
- 配置環境變數變數
- env 環境變數變數
- 環境變數path變數
- 『忘了再學』Shell基礎 — 23、其他環境變數配置檔案變數
- 什麼是環境變數?Python中如何設定環境變數?變數Python
- Java環境變數新增Java變數
- Flume 配置環境變數變數
- 環境變數詳解變數
- 配置JDK環境變數JDK變數
- windows配置環境變數Windows變數
- Linux環境變數配置Linux變數
- ubuntu JDK 環境變數UbuntuJDK變數
- Linux常用環境變數Linux變數
- Mac 設定環境變數的位置、檢視和新增PATH環境變數Mac變數
- 如何檢視Docker容器環境變數,如何向容器傳遞環境變數Docker變數
- 什麼是環境變數?python設定環境變數有什麼用?變數Python
- node.js環境安裝及環境變數Node.js變數
- Linux配置環境變數$PATHLinux變數
- java 環境變數的配置Java變數
- linux java環境變數配置LinuxJava變數
- linux工具配置環境變數Linux變數
- 4.2.10.3 檢視環境變數變數
- Makefile引用與環境變數變數
- ansible設定環境變數變數
- ansible 設定環境變數變數
- export 設定環境變數Export變數