[分享] 彩色 shell 設定

看板Linux作者 (tbd)時間18年前 (2006/08/13 04:03), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
大部分的 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
文章代碼(AID): #14tZG9jG (Linux)
文章代碼(AID): #14tZG9jG (Linux)