1. 程式人生 > >Linux 下 操作程序環境變數的函式和指令

Linux 下 操作程序環境變數的函式和指令

指令

  用export 指令可匯入環境變數,那麼當bash匯入後,通過該bash執行的子程序都有該環境變數,因為環境變數是可以被繼承的。用法 export KEY=VALUE , key 該環境變數的名字,value 環境變數的值。

函式

   putenv/setenv , 都可以設定環境變數,它們的區別是:
  setenv設定環境變數的時候,直接拷貝一份引數 string 字串,並把拷貝後的字串的地址放置到環境變數的陣列中。
  putenv , 並不做拷貝直接把你給的引數,放到環境變數的陣列中。如果該引數字串是在棧上,那麼當棧被釋放後,該環境變數就被析構了,就找不到該環境變量了。所以用putenv 的字串不應該在棧上開闢。

當環境變數遇上exec族函式

  當它們遇到exec族函式的時候,無論 setenv/putenv , 它們設定的環境變數都會完好無缺的被留下,即使putenv 設定的環境變數在棧上,只要該字串沒被釋放,呼叫exec族函式,該環境變數一直存在程序中。
  exec族函式,雖然會替換掉程序的程式碼段和資料,但是不會替換掉環境變數。