1. 程式人生 > >圖解Linux命令之--export命令

圖解Linux命令之--export命令

export命令-->用來設定或顯示環境變數 

命令作用

在shell中執行程式時,shell會提供一組環境變數。export可新增,修改或刪除環境變數,供後續執行的程式使用。export的效力僅及於該次登陸操作。export設定只對當前的bash登入session有效。這是存在記憶體裡面的。你可以寫入檔案一般的檔案。之後source它。或者放到/etc/profile 等等的位置裡,不同的地方效果不同。

一個變數建立時,它不會自動地為在它之後建立的shell程序所知。而命令export可以向後面的shell傳遞變數的值。當一個shell指令碼呼叫並執行時,它不會自動得到原來指令碼(呼叫者)裡定義的變數的訪問權,除非這些變數已經被顯式地設定為可用。export命令可以用於傳遞一個或多個變數的值到任何後繼指令碼。


登入到系統後,系統將啟動一個使用者shell。在這個shell中,可以使用shell命令或宣告變數,也可以建立並執行shell指令碼程式。執行shell指令碼程式時,系統將建立一個子shell。此時,系統中將有兩個shell,一個是登入時系統啟動的shell,另一個是系統為執行指令碼程式建立的shell。當一個指令碼程式執行完畢,它的指令碼shell將終止,可以返回到執行該指令碼之前的shell。從這種意義上來說,使用者可以有許多shell,每個shell都是由某個shell(稱為父shell)派生的。

在子shell中定義的變數只在該子shell內有效。如果在一個shell指令碼程式中定義了一個變數,當該指令碼程式執行時,這個定義的變數只是該指令碼程式內的一個區域性變數,其他的shell不能引用它,要使某個變數的值可以在其他shell中被改變,可以使用export命令對已定義的變數進行輸出


常用檔案

  • /etc/environment:是設定整個系統的環境,而/etc/profile是設定所有使用者的環境,前者與登入使用者無關,後者與登入使用者有關
  • /etc/profile:此檔案為系統的每個使用者設定環境資訊,當用戶第一次登入時,該檔案被執行.並從/etc/profile.d目錄的配置檔案中搜集shell的設定.
  • /etc/bashrc:為每一個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.
  • ~/.bash_profile:每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當用戶登入時,該
  • 檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案.
  • ~/.bashrc:該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該
  • 該檔案被讀取.
  • ~/.bash_logout:當每次退出系統(退出bash shell)時,執行該檔案. 

命令示例

首先,準備一個簡單的shell指令碼,取名為name.sh,用於列印變數NAME的值