新建用户不显示IP和机器名
CentOS下新增加一个用户,登录进去会发现shell脚本信息没有显示用户名和主机名,反而显示的是user1@202.173.1.12
ip=`/sbin/ifconfig|egrep -A 1 'eth0s|eth1s'| 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="[ 33[0;33m]u@$ip [ 33[0;34m] w $?:[ 33[00m] "
==================以下是详细解说 环境变量PS1================================================
=============================================================================================
linux下环境变量PS1简单来说就是设置命令提示符显示的内容,如下:
root@10.1.1.200:~#
PS1变量中提示符各项含义:
d :代表日期,格式为weekday month date,例如:Wed Dec 12
H :完整的主机名称。例如:hostname是debian.linux
h :仅取主机的第一个名字,如上例,则为debian,.linux则被省略
:显示时间为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文件中,这样每次开机都能看到。