新建用戶不顯示IP和機器名
CentOS下新增加一個用戶,登錄進去會發現shell腳本信息沒有顯示用戶名和主機名,反而顯示的是user1@202.173.1.12
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代碼 意義
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文件中,這樣每次開機都能看到。