Linux 基本工具(Bash 环境提示信息设置)
Shell 环境一般在我们输入之前, 会有部分提示信息, 快速让使用者知道当前环境的信息,比如当前用户/当前路径等. Bash Shell 同样给我们提供了定制这部分的逻辑,在 Bash Shell 下使用 PS1
来设置 Shell 提示信息.
PS
原意是 Prompt String
, 当然有 PS1
, 至少还会有其他的, 比如 PS2
.
PS1
默认 Shell 提示符PS2
多行命令的默认提示符, 一个非常长的命令可以通过在末尾加\
使其分行显示 , 多行命令提示默认值是>
PS3
选择输入时的提示符, 默认值为#?
PS4
配合set -x
用来修改跟踪输出的前缀,set -x
一般用在调试过程, 显示整个脚本的执行过程, 默认值为++
先来看看 PS1="\h:\W \u\$"
示例
\h
简写主机名, 一般取第一个单词\W
利用basename
命令取得当前目录名称, 仅列出最后一个目录的名称\u
当前用户名称\$
提示字符,root
用户时为#
, 普通用户时为$
最终显示效果
server:~ root$
系统一般是将默认的 PS1
信息配置在 /etc/profile
或者 /etc/bash.bashrc
中,个人如果修改, 建议仅仅修改在 用户的 .bashrc
中, 不建议修改系统原始定义, 这些配置,实际上是有用户托管, 如果某次系统更新需要更新这些文件,可能会覆盖自定义配置, 配置在用户环境是个好的实践.
更多PS1的配置信息如下:
\d
代表日期,格式为weekday month date,例如:"Mon Aug1"\H
完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux\h
仅取主机的第一个名字,如上例,则为fc4,.linux则被省略\t
显示时间为24小时格式,如:HH:MM:SS
\T
显示时间为12小时格式\A
显示时间为24小时格式:HH:MM
\u
当前用户的账号名称\v
BASH的版本信息\w
完整的工作目录名称。家目录会以 ~代替\W
利用basename
取得工作目录名称,所以只会列出最后一个目录\#
下达的第几个命令\$
提示字符,如果是root
时,提示符为:#
,普通用户则为:$
对于终端提示符颜色配置,内容偏麻烦些,需要了解 PS1
中的颜色值配置语法
- 开启颜色提示语法
\[\e[color\]
- 结束颜色提示语法
\[\e[m\]
一个颜色语法的完整示例 \e[0;32m\] helloworld \[\e[m\]
我们来对 PS1
调整下, 将主机名部分设置为绿色:
PS1="\e[0;32m\]\h:\W\[\e[m\] \u\$"
你可以将这段代码直接复制到你的终端, 实时可以看到效果.
终端下的常见颜色值:
- '\e[0;30m]' # Black - Regular
- '\e[0;31m]' # Red
- '\e[0;32m]' # Green
- '\e[0;33m]' # Yellow
- '\e[0;34m]' # Blue
- '\e[0;35m]' # Purple
- '\e[0;36m]' # Cyan
- '\e[0;37m]' # White
- '\e[1;30m]' # Black - Bold
- '\e[1;31m]' # Red
- '\e[1;32m]' # Green
- '\e[1;33m]' # Yellow
- '\e[1;34m]' # Blue
- '\e[1;35m]' # Purple
- '\e[1;36m]' # Cyan
- '\e[1;37m]' # White
- '\e[4;30m]' # Black - Underline
- '\e[4;31m]' # Red
- '\e[4;32m]' # Green
- '\e[4;33m]' # Yellow
- '\e[4;34m]' # Blue
- '\e[4;35m]' # Purple
- '\e[4;36m]' # Cyan
- '\e[4;37m]' # White
- '\e[40m]' # Black - Background
- '\e[41m]' # Red
- '\e[42m]' # Green
- '\e[43m]' # Yellow
- '\e[44m]' # Blue
- '\e[45m]' # Purple
- '\e[46m]' # Cyan
- '\e[47m]' # White
- '\e[0m]' # Text Reset
这里的 3Xm
表示的是前景色的设置, 4Xm
设置的是背景色的设置
显示选项:
- 0(默认)
- 1(粗体/高亮)
- 22(非粗体)
- 4(单条下划线)
- 24(无下划线)
- 5(闪烁)
- 25(无闪烁)
- 7(反显、翻转前景色和背景色)
- 27(无反显)
颜色选项:
- 0(黑)
- 1(红)
- 2(绿)
- 3(黄)
- 4(蓝)
- 5(洋红)
- 6(青)
- 7(白)