新建用户不显示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文件中,这样每次开机都能看到。