#0
剛剛在重新設定新的Server的時候
裝完了Bash,發現顏色超級單一,有點不太好識別
於是決定動手修改了Bash的PS1參數
所以,從網路上找到了以下的Shell Color code:Colorizing shell scripts
本文在此做個簡單的摘要,方便自己閱讀使用
色碼表:
Color | Foreground | Background |
Black | 30 | 40 |
Red | 31 | 41 |
Green | 32 | 42 |
Yellow | 33 | 43 |
Blue | 34 | 44 |
Purple | 35 | 45 |
Cyan | 36 | 46 |
White | 37 | 47 |
另外,還有文字的樣式
ANSI code | Meaning |
0 | Normal Characters |
1 | Bold Characters |
4 | Underlined Characters |
5 | Blinking Characters |
7 | Reverse video Characters |
所以整個文字的格式就要這樣表示: 樣式 ; 色碼 m
中間是以分號作為區隔
然後,在文字格式的前面必須加上 \e[ 當做格式的開頭,並以 \e[m 作為格式結尾
接下來,就是功能參數了
\a an ASCII bell character (07) \d the date in "Weekday Month Date" format (e.g., "Tue May 26") \e an ASCII escape character (033) \h the hostname up to the first `.' \H the hostname \n newline \r carriage return \s the name of the shell, the basename of $0 (the portion following the final slash) \t the current time in 24-hour HH:MM:SS format \T the current time in 12-hour HH:MM:SS format \@ the current time in 12-hour am/pm format \u the username of the current user \v the version of bash (e.g., 2.00) \V the release of bash, version + patchlevel (e.g., 2.00.0) \w the current working directory \W the basename of the current working directory \! the history number of this command \# the command number of this command \$ if the effective UID is 0, a #, otherwise a $ \nnn the character corresponding to the octal number nnn \\ a backslash \[ begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt \] end a sequence of non-printing characters
裝過幾個Linux之後,發現Gentoo的色彩配置還真的相當好看
於是乎,我將我的PS1變數設置於如下:
export PS1=”\[\e[0;31m\]\u@\[\e[m\e[0;34m\]\h\[\e[m \e[0;32m\]\W \$\[\e[m\]“
(註:原本這裡括號的方式有誤,現在已經更正,也就是除了特殊變數以外,都要加上\[ \] !!)
然後將以上字串寫入到 ~/.bashrc 裡面
還記得本文最上方那張圖嗎?
隨著指令字元太多,無法正確換行,覆蓋了原本第一行的文字
如果你遇到了跟我一樣的問題
這代表PS1參數設定不正確,讓Bash無法正確判讀哪邊是non-printing characters
所以參數設定的前後,一定要以 \[ & \] 作為開頭與結尾!!
完成後,你就可以看到美美的Bash了!
不過,你會發現,第一次登入該機器的時候,Bash還是單調的色彩,都沒變阿
總是要在打一次 bash 這個指令才會更新色彩!!
這時候,只需要在自己的家目錄再建立一個 .bash_profile
裡面的內容打上:
source .bashrc
這樣子,每次登入bash就會自己去找bashrc來更新設定檔囉!
- Page Views 142
- Category功能教學