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環境(也稱為Shell環境)}(轉)變數Linux
- Linux中bash shell環境變數Linux變數
- shell全域性(系統)環境變數變數
- linux基礎——shell變數(本地變數和環境變數)Linux變數
- linux登入bash shell環境執行環境變數Linux變數
- shell指令碼的執行環境變數指令碼變數
- awk中使用shell的環境變數(轉)變數
- Linux Shell 判斷環境變數 是否存在Linux變數
- Shell啟動檔案與環境變數(轉)變數
- 環境變數變數
- 『忘了再學』Shell基礎 — 13、環境變數(一)變數
- 『忘了再學』Shell基礎 — 14、環境變數(二)變數
- 『忘了再學』Shell基礎 — 15、環境變數(三)變數
- shell程式設計之環境變數配置檔案程式設計變數
- shell 指令碼常用 oracle 環境變數set 設定指令碼Oracle變數
- Linux 新增環境變數和刪除環境變數Linux變數
- Java 環境變數Java變數
- jdk環境變數JDK變數
- DOS環境變數變數
- env 環境變數變數
- 環境變數path變數
- Java環境變數Java變數
- ORACLE 環境變數Oracle變數
- postman環境變數Postman變數
- 配置環境變數變數
- ubuntu JDK 環境變數UbuntuJDK變數
- 配置JDK環境變數JDK變數
- 環境變數詳解變數
- Flume 配置環境變數變數
- Java環境變數新增Java變數
- 【Linux】環境變數!!!Linux變數
- Kaldi配置環境變數變數
- MySQL 環境變數配置MySql變數
- unix下環境變數 .變數
- Linux 環境變數Linux變數
- oracle 環境變數 redhatOracle變數Redhat