Solaris 預設Shell的修改以及命令列補全的設定

victorymoshui發表於2009-09-08

Solaris10 x86雖然可以跑起來,但有很多方面都用這和以前不大一樣,有點不習慣。本文主要講的是Solaris中Shell的一些問題即解決方法。

安裝完畢系統後,Solaris的預設Shell是sh,即命令列提示符為(本文中所講的都是root使用者,其他許可權的使用者也是同樣的方法):#

而在用Linux命令列的提示符中既有使用者名稱,還有主機名稱以及當前路徑的名稱。這樣可以給人一目瞭然的感覺。不過Linux下一般預設Shell是bash,而不是sh。如果只想在當前的使用中切換Shell的話,方法很簡單,可以在命令列中輸入:

#bash //切換至bash
或者
#csh //切換至csh

如果需要永久性的改變預設的shell,則需要修改/etc/passwd檔案。開啟passwd,第一行記錄的是root使用者的相關資訊,該行內容為:

root:x:0:0:Super-User:/:/sbin/sh

其中,最後一個冒號後面即為root使用者的預設shell,我們將其修改為bash的路徑:

root:x:0:0:Super-User:/:/usr/bin/bash

儲存檔案passwd,退出。

這樣,就可以實現用Tab鍵補全命令列的輸入和上下箭頭實現輸入命令的歷史回放,而sh卻沒有這樣的功能。但是,僅僅這一點修改,並不能實現命令列提示符中出現象Linux提示符中既有使用者名稱,又有主機名和當前路徑名。

需要另外編輯檔案。即在$HOME下新建檔案.profile,如果檔案存在的話就在裡面新增內容。由於是root使用者,所以$HOME的路徑為根目錄/。在根目錄下新建檔案.profile,並在其中新增如下內容:

PS1='[\u@\h:$PWD]#'
export PS1

儲存退出該檔案,並重啟系統。進入系統後,開啟一個終端,則命令列提示符為:

[root@solaris:/]#

執行命令:
[root@solaris:/]#echo $SHELL //檢視系統預設的shell
/usr/bin/bash

執行命令:

[root@solaris:/]#cd home

則命令列變為:

[root@solaris:/home]#

其中,root是指使用者名稱,solaris是主機名,/home為當前路徑。

當然,如果習慣使用csh,可以先將shell切換至csh。然後可以輸入命令:

#set filec

這樣,可以在csh下實現命令列補全。不過,補全輸入使用的不是Tab鍵,而是ESC鍵

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

相關文章