#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來更新設定檔囉!

發表迴響