Linux下通过设置PS1变量改变bash提示符颜色
?我們都知道bash中,可以通過PS1變量改變提示符的顏色。當命令輸出較長時,往往不容易第一眼看到輸出是從哪里開始的,通過改變改變PS1變量,可以更改bash提示符的顏色,這樣在人群中多看了一眼,就能夠找到輸出開始的地方了。另外,設置顏色也可以讓命令行更漂亮
我們可以通過設置PS1變量來改變bash的提示符內容,如下:
改變了PS1變量的內容后,bash提示符跟著變化了。PS1變量也可以使用反斜杠”\“來顯示類似變量的內容,知道反斜杠轉義的應該都不陌生,如下:
在PS1中加上”\u“,bash提示符中出現了當前用戶的用戶名。類似的轉義還有很多,如”\t“和”\T“表示當前時間(二者在時間格式上略有不同,”\w“表示當前所在目錄。具體的提示符對應的內容可以從”man bash“中的”PROMPTING“一節中看到。
通過PS1變量不僅可以改變提示符的內容,也可以改變提示符的顏色。只要在PS1中加入”\e“。
提示符顏色的格式為:\e[字體樣式;字體顏色;背景顏色m
提示符顏色結束的格式為:\e[0m
字體樣式,字體顏色,背景顏色三者中間使用英語半角的分號隔開,三者都是數字代碼
?
| 123456789101112 | 字體樣式代碼:0????????OFF1????????高亮顯示2????????3????????4????????下劃線5????????閃爍67????????反色8????????不可見#有些代碼沒有對應的效果,就是和0一樣 |
?
| 1234567891011 | 字體及背景顏色代碼:字體????背景????顏色30??????40?????黑色31??????41?????紅色32??????42?????綠色33??????43?????***34??????44?????藍色35??????45?????紫色36??????46?????青色37??????47?????白色 |
可以使用’echo -e "\e[x;y;zm xxx \e[0m"‘ 命令來查看顯示效果,如下:
可以使用echo -e去盡情地試,知道配出自己喜歡的顏色
配好自己的顏色和提示符后,使用”\e[0m“結尾,這樣,命令才不會收到顏色的影響。
但是光這樣設置的話,仍然不完美。當命令很長,超過一行了之后,命令不會換行,而是會覆蓋提示符當前行!如下:
為了避免這種情況,要在PS1變量的非顯示部分用轉義”\[“和”\]“括起來,這兩個轉義序列告訴bash,被括起來的字符不占用行上的空間,這樣就能使自動換行正常工作。否則就會造成上圖中的問題
這樣就能正常使用了,覺得自己配色很好看的話,就趕快寫到配置文件里去吧
下面我共享一個?PS1="\[\e[36m\][\[\e[36m\]\u\[\e[0m\]@\h \[\e[32m\]\w\[\e[36m\]]\[\e[0m\]\\$"? 粘貼至/etc/bashrc文件中 位置如下
效果如下
中括號和用戶名是青色 ? 路徑是綠色 ?并且命令過長的話不會覆蓋上一行,沒有定義背景色,即使你背景是白色 同樣適用!
轉載于:https://blog.51cto.com/professor/1572141
總結
以上是生活随笔為你收集整理的Linux下通过设置PS1变量改变bash提示符颜色的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正则表达式:Pattern 与Match
- 下一篇: Android中RelativeLayo