HP-UX系統,若是在字符界面裏面,登錄系統時,初始化進程(initialization process)會執行哪些一系列操做來設置用戶相關的環境變量呢?shell
首先,/usr/bin/login腳本會檢查/etc/passwd中的用戶信息和密碼信息,從而決定是否容許用戶登錄。
其次,成功經過驗證之後,初始化進程就會調用/etc/profile文件執行其內容。/etc/profile文件是系統維護的用戶默認環境變量文件。這個腳本會引用執行/etc/PATH,/etc/MANPATH和/etc/TIMEZONE來設置PATH/MANPATH/TZ環境變量。此文件在用戶每次登錄的時候都會執行。
以後,登錄shell就會調用用戶個性化環境變量設置文件~/.profile來設置用戶的個性化環境變量,其每次登錄只被執行一次。
最後,shell會查找一個叫ENV的環境變量,該環境變量與~/.profile的區別是,它不單單是在每次登錄的時候被執行,另外還在當用戶運行shell腳本、打開一個模擬終端或者登錄一個shell時候,都會被執行。其功能至關於~/.kshrc或者~/.shrc腳本。unix
以上內容,是針對用戶shell是POSIX(即sh)和Korn shell(即ksh)的狀況,若是用戶的初始化shell是csh呢?則會:其餘內容同樣,只是/etc/csh.login至關於/etc/profile;~/.cshrc文件至關於~/.kshrc或~/.shrc;~/.login至關於~/.profile。 其惟一不一樣的是,其先執行~/.cshrc而後再執行~/.login,與POSIX/KSH恰好相反。進程
當系統每新建一個用戶的喜歡,目錄/etc/skel中的內容都會被複製做爲默認環境文件。所以,增長這個目錄中的東西會影響新建用戶的默認環境內容(家目錄中的內容),可是不影響已經存在的用戶。
unix13:/etc/skel># llget
參考:it