字體:  

Solaris10 中修改及設置 default 的Shell

ppstream 發表於: 2013-1-13 00:07 來源: ADJ網路控股集團


安裝完畢系統後,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鍵
================================================== ================================
sh是bourne shell, bash是bourne again shell
bash的功能強大得多,擁有一些bourne shell沒有的csh和ksh的特性
From: http://hsien0930.blogspot.tw/2011/03/solaris.html