[分享] 彩色 shell 設定
大部分的 Linux 發行版的 bash shell 登入後都是長這樣的「dbtsai@ubuntu:~$」,也
就是「帳號@hostname:目錄$」,或許這樣您會嫌太單調。其實這個是可以調的唷!整個
設定的環境變數放在 PS1 裡面。
原始的 Ubuntu PS1 環境設定可以透過以下指令來得知。
######################################################################
dbtsai@ubuntu:~$ echo $PS1
\u@\h:\w\$ # \u 代表 username,\h 代表 hostname,\w 代表目錄
######################################################################
所以依照上面的邏輯,您就可以很簡單的去修改看看啦!
######################################################################
dbtsai@ubuntu:~$ PS1="[\u@\h \W \$] "
[dbtsai@ubuntu ~ $]
######################################################################
所以您應該發現了,在宣告環境變數時,它只會把整個環境變數的控制指令取代掉,其他
的都照常顯示出來。
那麼現在要進階一點,加上顏色控制功能。我們從一個很簡單的範例開始,先告訴讀者,
這有點像打 BBS 的 ANSI 控制碼,例如『\[\033[1;33m\]』這樣的控制碼,就是定義從
這之後所有文字全部都是黃色!而那個 33m 就是定義黃色。我們還可以使用紅色 (31m)
,綠色 (32m),藍色 (34m),紫色 (35m),青色 (36m) 和白色 (37m)。當然還有其他可
以用的顏色碼,如背景等等,如果又興趣的讀者可以去查詢 bash 相關資料。
所以我們試試看下面範例的效果吧!
#############################################################################
dbtsai@ubuntu:~$ PS1='\[\033[1;33m\]\u@\h\w$ '
#############################################################################
讀者會發現,全部都變成黃色了耶!連打的字都是黃色的!真 Orz 阿!其實這是因為最
後我們沒有把它在變回成白色字,所以我們最後再加上白色的控置碼吧!
#############################################################################
dbtsai@ubuntu:~$ PS1='\[\033[1;33m\]\u@\h\w$\[\033[1;37m\] '
#############################################################################
這時候看起來正常多了!只有前面那串 shell 部份是黃色的,打出來的字是正常的白色
!各位駭客一定不會那麼容易滿足吧!筆者提供我花俏的設定給讀者嘗試看看吧!礙於印
刷的關係,無法讓讀者直接看到效果,讀者一定要試試看唷!您將會愛上您的 shell 的
!
#############################################################################
PS1='\[\033[1;33m\]\u\[\033[1;37m\]@\[\033[1;32m\]\h\[\033[1;37m\]:
\[\033[1;31m\]\w\[\033[1;36m\]\$ \[\033[0m\]'
#############################################################################
那麼每次用 shell 都要設定,啟不是煩死了。若您要個人使用的話,可以加到
~/.bashrc 裡面的最後一行!所謂的 ~/ 就是您讀者個個人家目錄啦! 您可以如以下這
樣打,也就是在 shell 裡面,打 ~/ 會直接用家目錄取代,這樣是不是方便多了吶!
若是您希望所有人預設都看到,很對不起,筆者還沒找到方法!因為若您把設定寫在
/etc/bash.bashrc 裡面,雖然這是每個 user 登入都會讀取的,但是 PS1 在 Ubuntu 內
每個使用者的 ~/.bashrc 都在再重新定義一次,所以設定還是會被最後讀取的
~/.bashrc 蓋過去而失效!所以建議自己改想要用的使用者吧!強迫中獎也不是 Linux
的精神哩。
您最後的辦法是修改 /etc/skel/.bashrc,新建的使用者都會以它為範本拷到自己的目錄
下,所以您可以把 PS1 加到上面,那新建使用者預設就有彩色 shell 的功能。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.121.148.92
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
Linux 近期熱門文章
23
129
PTT數位生活區 即時熱門文章