自定義命令提示符顏色

2022-04-29 15:48:06 字數 2164 閱讀 6117

ps1是linux終端使用者的乙個環境變數,用來定義命令列提示符的引數

linux預設的命令列提示資訊的格式

ps1='[\u@\h \w]\$ '
獲取當前ps1定義的值

[root@clone1 ~]# echo $ps1

[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[33;40m\]\h \[\e[34;40m\]\w\[\e[0m\]]\$

ps1的常用引數以及含義:

\d :代表日期,格式為weekday month date,例如:"mon aug 1"

\h :完整的主機名稱

\h :僅取主機名中的第乙個名字

\t :顯示時間為24小時格式,如:hh:mm:ss

\t :顯示時間為12小時格式

\a :顯示時間為24小時格式:hh:mm

\u :當前使用者的賬號名稱

\v :bash的版本資訊

\w :完整的工作目錄名稱

\w :利用basename取得工作目錄名稱,只顯示最後乙個目錄名

# :下達的第幾個命令

$ :提示字元,如果是root使用者,提示符為 # ,普通使用者則為 $

顏色設定引數

顏色設定格式為:

\[\e[f;bm\]...\[\e[0m\]]
其中f為字型顏色,編號30-37;

b為背景顏色,編號為40-47

[\e[0m]為設定顏色的結束符號

其中的\e[f;bm和\e[0m就是改變終端字型顏色的部分,前者是修改顏色,後者是恢復到正常顯示。但是這時還會有問題,在提示符中回車換行不正常,導致顯示混亂,因此,除了這個修改之外,還需要將全部非列印字元用專用的 bash 轉義序列 "[" 和 "]" 括起來。這兩個序列通知 bash,被括起來的字元不占用行上空間 ,這樣就使自動換行正常。

顏色對照表

f b

30 40 黑色

31 41 紅色

32 42 綠色

33 43 黃色

34 44 藍色

35 45 紫紅色

36 46 青藍色

37 47 白色

如果需要設定特殊顯示,如高亮顯示顯示,可以將字串行顏色的格式中\e[f;bm中的f;b設定為1,即\e[1m,然後和顏色資訊加配置在一起,如\e[31;40m\e[1m。

設定特殊顯示表如下: 

0 off,關閉顏色

1 高亮顯示

4 顯示下劃線

5 閃爍顯示

7 反白顯示

8 顏色不可見

linux登入過程中載入配置檔案順序:

/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc]
通過在終端中執行export命令設定的變更只對當前終端有效,重新登陸終端就會失效。如果需要永久,就需要寫到配置檔案中。

將export語句寫入/etc/profile或/etc/bashrc對全部使用者生效,寫入~/.bash_profile或~/.bashrc 只對當前使用者生效。

臨時生效:

[root@clone1 ~]# export ps1='[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[33;40m\]\h \[\e[34;40m\]\w\[\e[0m\]]\$ '
永久生效:

[root@clone1 ~]# echo "export ps1='[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[33;40m\]\h \[\e[34;40m\]\w\[\e[0m\]]\$ '" >> /etc/bashrc

[root@clone1 ~]# tail -1 /etc/bashrc

export ps1='[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[33;40m\]\h \[\e[34;40m\]\w\[\e[0m\]]\$ '

[root@clone1 ~]# . /etc/bashrc

命令提示符顏色更改

11 學習內容 一 echo控制的字型顏色 格式 e 開啟echo的轉義功能 e 或者 033輸出esc符號 設定格式 e 背景色 前景色 高亮m 中間是分號 恢復預設為 e 0m 其中 背景色可以被以下數字替換 0 透明 使用終端顏色 40 黑,41 紅,42 綠,43 黃,44 藍 45 紫,4...

在 Linux 上自定義 bash 命令提示符

眾所周知,bash thebourne againshell 是目前絕大多數 linux 發行版使用的預設 shell。本文將會介紹如何通過新增顏色和樣式來自定義 bash 命令提示符的顯示。儘管很多外掛程式或工具都可以很輕易地滿足這一需求,但我們也可以不使用外掛程式和工具,自己手動自定義一些基本的...

Shell命令提示符及顏色

linux修改shell命令提示符及顏色 設定命令提示符 ps1 e 33 1m e 32m u e 33m h e 36m w e 33m e 32m e 0m ps1中設定字元顏色的格式為 e f bm 其中 f 為字型顏色,編號為30 37,b 為背景顏色,編號為40 47。用 e m 結束顏...