2010年1月6日 星期三

彩色shell prompt

玩ssh玩久了,總是會想耍酷一下。最常用的花招就是讓自己的命令列變成彩色的。網路上有很多文件可以教學。有些甚至很誇張,讓命令提示字元變成一副ASCII畫。

以前都沒好好紀錄,現在又重新做了一遍功課。要達到這種方式的方法有兩種,第一種是彩色碼方式,有點像BBS的語法。我製作了我想要的語法,如下。

export PS1="\e[1;37m[\e[1;36m\u\e[1;37m@\e[1;35m\h \e[1;33m\W\e[1;37m]\$ \e[m"

把這行打進去就可以了。可是你會發現,彩色碼好像怪怪的,在fedora的bash下,好像換行不太正常。似乎與PS1的長度有關。後來就改試第二種,tput方式。

export PS1="\[$(tput setaf 7)\][\[$(tput setaf 6)\]\u\[$(tput setaf 7)\]@\[$(tput setaf 5)\]\h \[$(tput setaf 3)\]\W\[$(tput setaf 7)\]]\$ \[$(tput sgr0)\]"

這樣一來就變正常了。如果想要登入時就這樣顯示,那就把它寫進家目錄下的.bashrc檔案裡頭就可以了。

下圖是完成圖。
image

需要更多控制語法,請至Bash Shell PS1: 10 Examples to Make Your Linux Prompt like Angelina Jolie參考。

關鍵字:linux, shell prompt, color, bash.

沒有留言: