ps1命令提示符

PS1(PS:Prompt Sign 命令提示符):是Linux环境变量中很重要的环境变量

一、字符颜色

#!/bin/bash
#字符颜色显示
#-e:允许echo使用转义
#\033[:开始位
#\033[0m:结束位
#\033等同于\e
echo -e "\033[30m黑色字\033[0m"   #(黑底在白色风格显示才明显)
echo -e "\033[31m红色字\033[0m"  
echo -e "\033[32m绿色字\033[0m"  
echo -e "\033[33m黄色字\033[0m"  
echo -e "\033[34m蓝色字\033[0m"  
echo -e "\033[35m紫色字\033[0m"  
echo -e "\033[36m天蓝字\033[0m"  
echo -e "\033[37m白色字\033[0m"

二、背景颜色

#背景颜色范围:40-47  
echo -e "\033[40m黑底白字\033[0m"  
echo -e "\033[41m红底白字\033[0m"  
echo -e "\033[42m绿底白字\033[0m"  
echo -e "\033[43m黄底白字\033[0m"  
echo -e "\033[44m蓝底白字\033[0m"  
echo -e "\033[45m紫底白字\033[0m"  
echo -e "\033[46m天蓝底白字\033[0m"  
echo -e "\033[47m白底白字\033[0m" 

三、字符+背景颜色

#字符颜色与背景颜色用;号相隔(可随意组合)
echo -e "\033[40;37m黑底白字\033[0m"  
echo -e "\033[41;34m红底蓝字\033[0m"  
echo -e "\033[42;34m绿底蓝字\033[0m"  
echo -e "\033[43;34m黄底蓝字\033[0m"  
echo -e "\033[44;30m蓝底黑字\033[0m"  
echo -e "\033[45;30m紫底黑字\033[0m"  
echo -e "\033[46;30m天蓝底黑字\033[0m"  
echo -e "\033[47;34m白底蓝字\033[0m"

四、特殊效果

#0:关闭特殊效果
#1:高亮显示
#4:下划线
#5:闪烁
#7:反白显示
#8:隐藏不可见
#特殊效果和颜色用;号相隔,没有顺序
echo -e "\033[0;46;30m天蓝底黑字\033[0m"  
echo -e "\033[1;46;30m天蓝底黑字\033[0m"  
echo -e "\033[4;46;30m天蓝底黑字\033[0m"  
echo -e "\033[5;46;30m天蓝底黑字\033[0m"  
echo -e "\033[7;46;30m天蓝底黑字\033[0m"  
echo -e "\033[8;46;30m天蓝底黑字\033[0m"

五、提示符颜色

echo 'PS1="\[\e[46;30m\][\u@\h \W]\\$\[\e[0m\]"'  >> /etc/profile.d/env.sh

echo  PS1="\e[1;36;40m[\u@\h \W]\\$\e[0m"  >>  /etc/bashrc 

source /etc/bashrc

其中PS1常用的参数含义如下:

\d :#代表日期,格式为weekday month date,例如:"Mon Aug 1"
\H :#完整的主机名称
\h :#仅取主机的第一个名字
\t :#显示时间为24小时格式,如:HH:MM:SS
\T :#显示时间为12小时格式
\A :#显示时间为24小时格式:HH:MM
\u :#当前用户的账号名称
\v :#BASH的版本信息
\w :#完整的工作目录名称
\W :#利用basename取得工作目录名称,所以只会列出最后一个目录
\# :#下达的第几个命令
\$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$

如:

PS1_POOL=$(echo ${HOSTNAME} | tr 'A-Z' 'a-z')
PS1_INT=$(/sbin/ip a | egrep -v 'inet6|127.0.0.1|\/32' | awk -F'[ /]+' '/inet/{print $NF" = "$3}' | head -n1)
export PS1='[\033[1;32m\u\033[0m\033[1;33m@\033[0m\033[1;35m$PS1_POOL\033[0m \033[1;91m\w\033[0m] \033[1;36m$PS1_INT\033[0m\n\$ '

效果

六、提示符报 -bash-4.2#  *(实用)

原因是root在/root下面的几个配置文件丢失,丢失文件如下:
  1、.bash_profile
  2、.bashrc
以上这些文件是每个用户都必备的文件。
使用以下命令从主默认文件重新拷贝一份配置信息到/root目录下,注销重新链接就恢复正常了 

#cp /etc/skel/.bashrc  /root/

#cp /etc/skel/.bash_profile  /root/

七、tput 指令

是一个用于控制终端显示属性(如颜色、光标位置、文本样式等)的命令行工具。

其中 tput setaf N 用于设置前景色(即字体颜色),而 N 是一个代表颜色的数字,遵循 ANSI 标准颜色代码。

1、ANSI 标准颜色代码对照表(用于 tput setaf N):

image

 2、使用 tput setaf N 示例

# 设置前景色为红色(代码 1)
tput setaf 1
echo "这是红色文字"

# 设置前景色为绿色(代码 2)
tput setaf 2
echo "这是绿色文字"

# 恢复默认颜色(通常使用白色或终端默认色)
tput sgr0

3、扩展:背景色与文本样式

  • tput setab N:设置背景色(同样使用 0–7 的 ANSI 颜色代码)
  • tput bold:开启粗体
  • tput rev:反转前景/背景色
  • tput sgr0:重置所有格式

4、PS1 是 Bash shell 的主提示符变量(Prompt String 1),用于定义命令行提示符的外观。你可以通过在 PS1 中嵌入颜色代码来美化你的终端提示符

2个能实现相同的效果

 

posted @ 2019-10-06 19:35  凡人半睁眼  阅读(1067)  评论(0)    收藏  举报