1. 程式人生 > >修改Linux的命令提示符及其顏色

修改Linux的命令提示符及其顏色

藍色 腳本調用 直接 時間 配置 shell腳本 shell中的 water images

我們使用Linux系統時接觸最多的是它的命令行窗口,很多時候我們都需要在命令行上輸入命令,在輸入的命令前都會有提示符,一般系統默認的提示符形式是:

[username@host 工作目錄


其實,我們可以為自己訂制個性化的命令行提示符,Linux系統提示符是用系統變量PS1來定義的,只要按規則修改PS1系統變量的值隨意修改命令行提示符。
?
通過命令echo $PS1查看PS1的值,即PS1="[\u@\h: \w \t]\$ "。修改PS1的值後,重啟系統或者重新登錄後,PS1的值都會變回默認的值。如果希望對用戶永久保存PS1的值,可以通過修改用戶配置文件.profile,把系統變量PS1的新值重新導入:

?


命令提示符默認是$PS1,:“P,S”是大寫

[root@centos6 ~]# echo $PS1
[\u@\h \W]\$


除了以上默認的符號外,還有以下各個特殊符號代表的意義

\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時,提示符為:# ,普通用戶則為:$

?
比如,給命令提示符加個24小時格式的時間,並為提示符加上顏色。
:在PS1中設置字符序列顏色的格式為:[\e[F;Bm"] 其中“F“為字體顏色,編號為30-37,“B”為背景顏色,編號為40-47。
?

技術分享圖片

接下來上顏色咯

技術分享圖片
圖 中提示符變為紫色,輸出的字體保持不變,根據個人愛好設置即可。
?
顏色信息表

Font background color
30 40 黑色
31 41 紅色
32 42 綠色
33 43 ×××
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色

?
設置重啟後不失效

PS1命令可以設置當前shell的命令提示符,是shell中的一個功能,但是shell也是一個程序,有進程的生命周期,他會隨著進程生命周期結束而將保存在內存中的數據丟失,如果想保存配置,需要將賦值保存在文件中,shell環境配置文件分文兩類:

profile類:為交互式登錄的shell提供配置,交互式登錄為直接通過某終輸入賬號密碼登錄打開的shell進程或使用su - USERNAME執行的登錄切換;他的讀取次序為: /etc/profile-->/etc/profile.d/*-->/bash.profile-->/.bahrc-->/etc/bashrc
bashrc類:為非交互式登陸的shell提供配置,非交互為su USERNAME執行的用戶登錄切換,讀取次序為:~/.bashrc -->/etc/bashrc -->/etc/profile.d/


如果想要設置終端提示符的樣式只要把$PS1在~/.bahrc指定即可,我的設置如下:
?
vim.~/.bashrc

export PS1

效果:
技術分享圖片
?
export命令用於將shell變量輸出為環境變量,或者將shell函數輸出為環境變量。

一個變量創建時,它不會自動地為在它之後創建的shell進程所知。而命令export可以向後面的shell傳遞變量的值。當一個shell腳本調用並執 行時,它不會自動得到原為腳本(調用者)裏定義的變量的訪問權,除非這些變量已經被顯式地設置為可用。export命令可以用於傳遞一個或多個變量的值到任何後繼腳本。

?

修改Linux的命令提示符及其顏色