Linux 環境變量PS1設置


 新建用戶不顯示IP和機器名

CentOS下新增加一個用戶,登錄進去會發現shell腳本信息沒有顯示用戶名和主機名,反而顯示的是user1@202.173.1.12

解決方案:
1.在新建用戶的~目錄下新建或者更改.bash_profile;這個過程中可能需要root用戶來新建或者修改
2.在.bash_profile中添加以下內容:
ip=`/sbin/ifconfig|egrep -A 1 'eth0\s|eth1\s'| grep inet| awk '{print $2}' | sed -e 's/addr://' |grep -v '127.0.0.1'| grep -v '0.0.0.0'| awk '{printf("<%s>", $1)}'`
export PS1="\[\033[0;33m\]\u@$ip \[\033[0;34m\] \w $?:\[\033[00m\] "

 ==================以下是詳細解說   環境變量PS1================================================

=============================================================================================

linux下環境變量PS1簡單來說就是設置命令提示符顯示的內容,如下:

root@10.1.1.200:~#

PS1變量中提示符各項含義:

\d :代表日期,格式為weekday month date,例如:Wed Dec 12
\H :完整的主機名稱。例如:hostname是debian.linux
\h :僅取主機的第一個名字,如上例,則為debian,.linux則被省略
\t :顯示時間為24小時格式,如:HH:MM:SS
\T :顯示時間為12小時格式
\A :顯示時間為24小時格式:HH:MM
\u :當前用戶的賬號名稱 如:root
\v :BASH的版本信息  如:3.2
\w :完整的工作目錄名稱。家目錄會以 ~代替 如顯示/etc/default/
\W :利用basename取得工作目錄名稱,所以只會列出最后一個目錄 如上例則只顯示default
\# :下達的第幾個命令
\$ :提示字符,如果是root時,提示符為:# ,普通用戶則為:$

 

但是發現命令提示都是一種顏色,這里可以通過設置PS1變量使得提示符變成彩色,在PS1中設置字符序列顏色的格式為:\[\e[F;Bm\] 其中“F”為字體顏色,編號30~37;“B”為背景色,編號40~47。取消設置:\[\e[0m\]

每種字體顏色對應的代碼:

重置=0,黑色=30,紅色=31,綠色=32,黃色=33,藍色=34,洋紅=35.青色=36,白色=37


\e[1;31m設為紅色,\e[0m顏色重置。只需將31替換成想要的顏色碼就可以了

要打印彩色背景對應的代碼:

重置=0,黑色=40,紅色=41,綠色=42,黃色=43,藍色=44,洋紅=45.青色=46,白色=47

B代碼     意義

0      OFF
1      高亮顯示    (常用)
4      underline            
7      反白顯示

8      不可見

 

下面是將PS1變量提示符變成彩色

root@10.1.1.200:opt#PS1='${debian_chroot:+($debian_chroot)}\[\e[01;32m\]\u\[\e[00m\]@\[\e[01;31m\]$ip\[\e[00m\]:\[\e[01;34m\]\W\[\e[00m\]\$' root@10.1.1.200:opt#

記得寫入在.bashrc文件中,這樣每次開機都能看到。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM