AIX Shell環境設定(轉)

BSDLite發表於2007-08-16
AIX Shell環境設定(轉)[@more@]#!/usr/bin/sh的用途

shell script的第一行一般都是#!/usr/bin/sh或#!/usr/bin/ksh等,它的用途就是指出本指令碼是用的哪種shell寫的,執行時系統應該用哪種shell來解釋執行它。

當你登入時,shell會讀取以前設定的初始化檔案來設定使用者環境。使用者環境的定義是透過設定環境變數來實現的。當登入作業系統時,shell主要使用兩大類profile檔案來定義使用者環境。一類是用來為所有使用者定製環境,另一類是為個人定義自己的環境。

登入時,shell首先執行/etc/profile檔案中的命令,然後執行/etc/environment檔案中的命令來設定你的系統環境。這兩個檔案執行完畢後,系統會接著檢查在你的home目錄下是否有.profile檔案,如果.porfile檔案存在,就執行它。 .profile檔案還會指出是否還有一個環境檔案。如果還有環境檔案(通常叫.env或者.kshrc)存在,系統會執行這個檔案,並設定你的環境變數。

/etc/profile檔案

使用者在登入時,作業系統定製使用者環境時使用的第一個檔案就是/etc/profile。這個檔案控制著全系統範圍內的預設變數,如Export變數,檔案建立的掩碼,終端型別,以及新郵件到達時的提示資訊等等。

系統管理員為所有使用者配置porfile檔案,只有系統管理員可以更改這個檔案。

/etc/environment檔案

在登入時作業系統使用的第二個檔案是/etc/environment。/etc/environment檔案包含為所有程式所配置基本環境的變數。當一個新程式開始時,exec子程式生成一個形為Name=Value的字串陣列。這個字串陣列被稱為環境,每一個被定義名字被稱作環境變數或者 shell變數。exec子程式允許整個環境一次設定完成。

當你登入時,系統在讀取你自己的profile前,設定環境檔案的環境變數。下面是構成基本環境的變數:

HOME:使用者登入的或HOME全路徑,登入程式從/etc/passwd檔案中讀取並設定它。

LANG:語言環境

NLSPATH:訊息目錄的全路徑。

LOCPATH:國際語言支援系統表格的全路徑

PATH:搜尋命令的目錄

TZ:時區資訊 ,IBM到現在還得用TAIST——臺北時區

【注意】/etc/environment檔案中不能包含命令

.profile檔案

作業系統在登入時用到的第三個檔案是.profile檔案。 .profile檔案位於使用者的home目錄,它允許使用者定製自己的個人的工作環境。

在登入程式將LOGNAME和HOME變數新增到環境中後,$HOME/.profile檔案中的命令就會被執行,.porfile檔案中含有你個人的設定會忽略/etc/profile檔案中的相矛盾的變數。

一般用.profile來控制下面的預設值:

開啟的shell,命令列提示符,鍵盤的聲音。

.env檔案

如果你在.profile檔案中有如下內容:ENV=$HOME/.env,作業系統在使用者登入時使用的第四個檔案是.env檔案。.env檔案允許使用者定製自己的個人的工作環境。檔案中含有的你個人的環境變數會忽略/etc/environment檔案中的相矛盾的變數。

【注意】/etc/profile,/etc/environment和.profile檔案只在登入時執行一次。但是.env檔案卻在每一次開啟一個新shell或一個視窗時都被執行。

【TIP】$HOME/.env檔名可以任意,但在$HOME/.profile中要有相應的宣告:export ENV=$HOME/.NewName

【TIP】$HOME/.env檔案每當一個子shell被開啟都會被執行,所以可以在這裡定義在vi中開啟的子shell中也可以使用的別名。

【注意】這四個定製環境的檔案中,/etc/enviroment檔案中只能給變數賦值,而其它三個檔案可以使用語句。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-962382/,如需轉載,請註明出處,否則將追究法律責任。

相關文章