看到一些大神的环境有非常酷炫的Linux BASH命令提示符,比默认的'[root@localhost ~]# ‘多了不少内容,而且设置了区分度比较大的颜色,避免了对一些误操作行为。我觉得非常有意义,所以配置一份自己PS1变量。
PS(Prompt Sign): 是指命令提示符。Linux中可以通过修改PS1来修改命令提示符的格式的内容,PS1还提供了一些特殊的符号来表示PS1的内容:
\d 日期
\H 完整的主机名称(带上domain)
\h 仅取主机名
\t 显示时间,为 24 小时格式,如: HH:MM:SS
\T 显示时间,12 小时的时间格式
\A 显示时间,24 小时格式, HH:MM
\u 目前使用者的账号名称
\v BASH 的版本信息
\w 当前工作目录完成路径。home目录会以 ~ 取代
\W 利用 basename 取得工作目录名称
\# 下达的第几个指令,相当于一个当前连接的命令计数器
\$ 提示字符,如果是 root 时,提示字符为 # ,普通用户连接就是 $
Bash中不仅可以设置八种不同的颜色, 还可以设置下划线、粗体和背景色。
下面的PS1变量输出了user,host_name.domain_name, pwd, 和上一个进程的exit
code,并将该命令提示符单独分割一行。这样太长的路径和主机名也不会影响正常的命令输入。后面如果需要还可以加入更多的内容。该PS1应该在
/home/<username>/.bash_profile中被export,不应该取代全局/etc/bashrc中的PS1设置。
PS1='\n \[\e[0;32m\]----- \[\e[1;33m\]\u\[\e[m\]@\H \[\e[1;34m\]\w\[\e[m\] \[\e[1;35m\]last:\[\e[4;35m\]`echo $?`\[\e[0;32m\]
-----\n\[\e[0;31m\]\$ \[\e[m\]\[\e[1;36m\]'
效果如下:
--转自