此处的 [\u@\h \W]\$ 就是 [cadmin@localhost ~]$ 的通用格式,通过修改PS1变量可以达到修改提示字符的目的。在这之前,需要先了解此处用的符号含义:
经过调整,自己最习惯的排列方式为 \u @ \h:\w\$
PS1中的颜色参数格式为\[\e[FBm\],F代表文本前景色,B代表背景色,这一串参数的位置就是这个颜色开始生效的位置,且后出现的颜色参数会覆盖前面的颜色参数。
例如 \[\033[0132m\]\u @ \h\[\033[00m\]:\[\033[0134m\]\w\[\033[00m\]\$ 赋值给PS1后,提示字符变成:
在当前shell里面的修改都只是暂时性的,只有将对应变量的赋值加入到对应用户的.bashrc下,才能在启动时就生效。
在文件最后加上 PS1="\[\033[0132m\]\u @ \h\[\033[00m\]:\[\033[0134m\]\w\[\033[00m\]\$" ,然后 source .bashrc 即可。
这里主要想在终端提示这里看到 登录用户 、 服务器ip 和 绝对路径 ,如下显示:
这里主要通过PS1变量来进行设置
ps1默认为 [\u@\h \W]\$
各提示符的含义如下:
由此可知,默认显示当前用户、主机的第一个名字、当前工作目录
可以将PS1修改为如下:
上面还包含提示符颜色的设置,具体可以参考 PS1设置
如果想PS1的设置永久有效,可以在/etc/profile或.bashrc文件里进行设置,然后打开一个新的终端就会看到新设置的提示符生效了。
但是这里可能会发现,主机名显示的不是ip,显示如下:
原因是这里的hostname不是ip
因为需要修改hostname,提供一个快速永久修改hostname的方法
这时hostname就改成主机的ip了,
重新打开终端后就变成了想要的终端提示符
关于linux的 PS2、PS3、PS4 可以参考 linux下PS1、PS2、PS3、PS4最全详解
在linux中,我们在编辑时需要对文档编辑或者一些信息的显示加上颜色,增强阅读的效果 格式: echo -e "\033[字体颜色字背景颜色m字符串\033[0m"要显示什么颜色,优先是先判断位置,按语法上来说,应该是先字体色,然后是背景色,但是字体色的地方数值为43,所以判断为背景的颜色,而在后面的31本应该是背景色,结果数值31位字体的颜色,所以显示的效果是字体的颜色为红色,而不是背景红色,假设这个31是数值41,则表示背景的为红色,整体的效果就是红色背景,字体处没有颜色,为默认的白色,且效果是闪烁。 其中设置颜色的格式为:\033[ m …… \033[0m,其中ascii code是对颜色调用的始末.也可以表示为\e[FBm…….\e[0m 字背景颜色范围: 40--49 字颜色: 30--39 例如显示红色,其中红色^[[31mred^[[0m其中^[是在插入编辑模式下按键进去额ctr+v+[这三个按键输入的。 假设写在文档tt1写入对应的语句来查看,通过cat tt1验证效果^[[31mred^[[0m :表示对应的字是红色字体,没有底色,如下截图^[[31mred^[[44m:表示红色字体,底色为紫红色。假设写在文档tt1,后面cat tt1.这个屏幕底色都是蓝色,字都是红色如下截图^[[3144mred^[[0m:表示红色字体,字和屏幕的底色为蓝色,背景没有底色,和^[[31mred^[[44m效果一样。如下截图^[[3144mred^[[44m:表示红色字体,底色都是蓝色在命令行里输入命令:echo -e '\e[43314mmagedu\e[0m',得到如下的效果PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。在终端输入命令:echo $PS1,就会输出PS1的定义:默认的PS1变量值为 : PS1="[\u@\h \W]$" PS1的定义中个常用的参数的含义如下:给PS1赋值如下: PS1="[\[\e[3140m\]\u\[\e[3740m\]@\[\e[3440m\]\h\[\e[3740m\] \W]\\$\[\e[0m"这里需要注意,颜色的结束调用符号,要放在最后面,否则当使用命令history查看历史命令时,会出现各种异常的显示 正确的结果得到的结果如下图 当把结束符调整到$前面,如PS1="[\[\e[3140m\]\u\[\e[3740m\]@\[\e[3440m\]\h\[\e[3740m\] \W]\[\e[0m\\$",使用history查找的时候出现了如下的异常显示注意,这里赋值的时候要用单引号才能得到要的效果,只是单纯改变颜色,其他值不改变,如果赋值用双引号,如下 错误写法:PS1="[\[\e[3140m\]\u\[\e[3740m\]@\[\e[3440m\]\h\[\e[3740m\]\W]\[\e[0m\$"得到的效果如下:如果是root时,提示符为:# ,普通用户则为:$,但是双引号后root的提示符为$,是不对的 解决办法:如果用双引号,需要再\$前再加一个\,语句如下 PS1="[\[\e[3140m\]\u\[\e[3740m\]@\[\e[3440m\]\h\[\e[3740m\] \W]\\$\[\e[0m" 赋值为PS1='\[\e[43m\][\[\e[31m\]\u@\[\e[34m\]\h \W]\$\e[0m'效果如下截图这个例子,我们可以明显看出,\e[颜色值m这个是说明接下来的颜色从这里开始是什么颜色,\e[0m说明的是颜色的结束位置, 这里需要注意的是,如果没有通过\[ \]对每一个颜色进行界定,使用过程,如上翻历史页,就会出现显示异常。 将设置好的PS1变量写到家目录下的.bashrc 里面,这样后面开启的终端都有效。 $ vim .bashrc 打开后添加一行 PS1="[\[\e[3140m\]\u\[\e[3740m\]@\[\e[3440m\]\h\[\e[3740m\]\W]\[\e[0m\\$"保存退出再次登录时显示的颜色也会是我们设定的值了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)