如果您需要根據(jù)正在使用的主機(jī)來應(yīng)用某些首選設(shè)置(也就是說,如果系統(tǒng)有特殊的資源,將使用不同的 PATH),那么可以將那些設(shè)置放在一個(gè)單獨(dú)的文件中,并且在 Shell 啟動(dòng)的過程中使用 source 來訪問它 。如果您選擇使用 rsync 來管理您的文件,那么可以在從文件分發(fā)列表中省略主機(jī)特定的文件 。當(dāng)然,您還可以創(chuàng)建一個(gè)全局的腳本,并使用條件和環(huán)境變量 HOSTNAME 以選擇合適的設(shè)置 。(Shell 將自動(dòng)地設(shè)置 HOSTNAME,并且 HOSTNAME 將捕獲完全限定的主機(jī)名 。)例如,下面是啟動(dòng)文件中常見的代碼片段:
case $HOSTNAME in
lab.area51.org)
PATH=/opt/rocketscIEnce/bin:$PATH
PS1='u @ h # $ '
export $PS1;;
alien.area51.org)
PATH=/opt/alien/sw/bin:$PATH;;
saucer*)
PATH=/opt/saucer/bin:$PATH
PAGER=less
export $PAGER;;
*)
PATH=/usr/local/bin:$PATH
esac
export $PATH
這里采用了一個(gè) switch 語句,以便將 $HOSTNAME 的值與四個(gè)可能的值進(jìn)行比較:lab.area51.org、alien.area51.org,匹配任何以字符串 saucer* 開頭的主機(jī)名的模式(如 saucer-mars 這樣的主機(jī)名將匹配;如 sauce.tomato.org 這樣的主機(jī)名將不能匹配),以及匹配所有其他內(nèi)容的條件 。在這個(gè)示例中,Bash 將星號(hào)(*)解釋為 Shell 運(yùn)算符,而不是正則表達(dá)式運(yùn)算符 。當(dāng)匹配到某種模式時(shí),將執(zhí)行與該模式相關(guān)聯(lián)的語句 。與其他的 switch 語句不同的是,Bash 的case 僅運(yùn)行一組語句 。
最后,再來看看其他用戶的 Shell 啟動(dòng)文件,從中得到一些靈感同時(shí)得到一些經(jīng)驗(yàn) 。(某些用戶對(duì)這些文件和他們的 home 目錄進(jìn)行了保護(hù),這將使得您無法瀏覽到這些內(nèi)容 。)Joe 是否有一個(gè)非常好的、有用的提示符呢?咨詢他如何實(shí)現(xiàn)相同的事情 。Jeanette 是否有很多加速鍵或者大量的環(huán)境變量集合,以便從實(shí)用工具方面補(bǔ)充一些特殊的特性呢?與她聊聊關(guān)于她的配置秘訣 。最有效的得到思想和代碼的途徑就是咨詢那些在命令行方面具有豐富經(jīng)驗(yàn)的行家 。
自定義您的 Shell
喜歡修改軟件和創(chuàng)作修改版本的人,聯(lián)合起來!您可以自定義您的 Shell,在您找到了某個(gè)設(shè)置或者一系列您所喜歡的設(shè)置后,將其保存到啟動(dòng)文件中,并重復(fù)地使用它們 。使用 rsync 或者類似的工具,將您的環(huán)境從一臺(tái)計(jì)算機(jī)傳播到另一臺(tái)計(jì)算機(jī) 。
您的課程到此全部完成 。請(qǐng)多花些時(shí)間練習(xí)相關(guān)的技能 。
推薦閱讀
- 對(duì)話 UNIX,第 9 部分: 正則表達(dá)式
- 對(duì)話 UNIX,第 6 部分: 通過腳本實(shí)現(xiàn)操作的自動(dòng)化
- 提升UNIX中文件系統(tǒng)使用效率
- SCO UNIX基礎(chǔ)講座--第十一講:TCP/IP 管理
- 什么是第二人格
- 基本配置及操作 SCO UNIX學(xué)習(xí)寶典
- SCOUNIX基礎(chǔ)講座--第八講:監(jiān)視進(jìn)程管理
- Stty使用技巧一則
- SCO UNIX 5.0.4 DAT磁帶機(jī)安裝
- 初識(shí)夏新M350——外觀第一感
