AIX環境變數簡介及使用

來源:互聯網
上載者:User


AIX環境變數簡介及使用 [plain] 環境變數是作業系統環境設定的變數,適用於整個系統的使用者進程;  環境變數可以在命令中設定,但是使用者登出的時候將會丟失這些設定值;  若要重複適用,則最好在.profile中定義;環境變數的使用與本地變數的使用方法相同,  但是在使用之前,必須用export命令匯出。    www.2cto.com  1.設定環境變數  同一行鍵入2個語句,使用分號隔開  VARIABLE-NAME=value; export VARIABLE-NAME  也可以分行寫:  VARIABLE-NAME=value  export VARIABLE-NAME    2.查看環境變數:env    3.清除環境變數:unset VARIABLE-NAME    4.嵌入shell變數  4.1 CDPATH:此變數保留了一些目錄資訊,用冒號“:”隔開。  如果設定了此變數,在cd一個目錄的時候,shell會先去尋找此變數儲存的值;  如果此變數中儲存了cd切換的目錄,則切換到該目錄下。      www.2cto.com  4.2 EXINIT:此變數儲存使用vi編輯器的初始化選項,如顯示行號,並在第10個空格加入tab鍵,  命令為:EXINIT='set nu tab=10';export EXINIT    4.3 HOME:HOME目錄,通常用於定位passwd檔案的倒數第2列,指定使用者登入後進入自己的目錄,  在這個目錄下儲存使用者自己的檔案資訊。當輸入:cd $HOME時,就切換到使用者的跟目錄下。    www.2cto.com  4.4 IFS:用於shell指定的預設域分隔字元;預設域分隔字元可以為:空格、新行、tab鍵。    4.5 LOGNAME:儲存登入名稱    4.6 MAIL:儲存郵箱路徑名,預設為/var/spool/mail/<login-name>。    4.7 MAILCHECK:預設為沒60s檢查新郵件,可以設定為其他時間,如180s。    4.8 MAILPATH:儲存多個使用者的郵箱路徑,設定此變數將覆蓋MAIL的值。    4.9 PATH:儲存進行命令或指令碼尋找的目錄順序,對這些目錄的排序很重要,  因為這關係到執行命令查詢時間問題;通常我們都是先從使用者根目錄下去查詢,在到其他目錄下。    4.10 PS1:基本提示符,超級使用者為#,普通使用者可以任意設定。    4.11 PS2:附屬提示符,預設“>”,用於執行多行命令或超過一行的一個命令。    4.12 SHELL:儲存預設shell,通常在/etc/passwd中設定,可以進行修改,使用其他shell。      www.2cto.com  4.13 TERMINFO:終端初始設定變數儲存終端設定檔的位置。    4.14 TERM:儲存終端類型,設定TERM是應用獲知終端對螢幕和鍵盤響應的控制序列類型,  如vt100、vt200等    4.15 TZ:儲存時區值,只有系統管理員才可以更改此設定。    5.其他環境變數  還有其他一些預留的環境變數,其他系統或命令列應用將用到他們,如:  5.1 EDITOR:設定編輯器,這個比較常用。  5.2 PWD:儲存當前工作路徑名。  5.3 PAGER:儲存螢幕翻頁命令,如pg、more  5.4 MANPATH:儲存系統上man檔案的目錄,各個目錄之間用“:”隔開。  5.5 LPDEST或PRINTER:儲存預設印表機名,用於列印工作是指定印表機名。    6.set命令  在$HOME.profile檔案中,設定環境變數時,除了export可以匯出之外,還有set -a命令,  可以指明所有變數直接被匯出;不過別在/etc/profile中設定,在自己的$HOME.profile中設定。    下面是一個shell指令碼的執行個體  在father.sh指令碼中,調用child.sh指令碼,並修改father.sh中的變數值,如下:  pg father.sh  # father script  echo "This is the father"  SMART_PHONE="iPhone 5"  echo "I have the phone:$SMART_PHONE"  # call the child script  sh child.sh  echo "The phone father owned is:$SMART_PHONE"    pg child.sh  # child  echo "called from father..i am the child"  echo "phone is:${SMART_PHONE:-unknow}"  SMART_PHONE="Meizu MX2"  echo "changing SMART_PHONE to:$SMART_PHONE"  執行指令碼:  sh father.sh  This is the father  I have the phone:iPhone 5  called from father..i am the child  phone is:unknow     ->①不認識父進程中的變數  changing SMART_PHONE to:Meizu MX2  The phone father owned is:iPhone 5  可以看到,在子進程中並不認識父進程中的變數,這是因為我們沒在父進程中匯出變數值。    www.2cto.com  修改father.sh指令碼:  pg father.sh  # father script  echo "This is the father"  SMART_PHONE="iPhone 5"  echo "I have the phone:$SMART_PHONE"  # call the child script  export SMART_PHONE     ->②  sh child.sh  echo "The phone father owned is:$SMART_PHONE"  現在執行修改後的指令碼,子進程認識父進程傳遞過來的變數了:  sh father.sh  This is the father  I have the phone:iPhone 5  called from father..i am the child  phone is:iPhone 5     ->①匯出之後,認識了  changing SMART_PHONE to:Meizu MX2  The phone father owned is:iPhone 5  --the end--

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.