Linux的PS1美化

Linux的PS1美化

    • PS1变量参考
      • 终端字体颜色
      • 临时设定PS1
    • 让PS1环境变量为每个用户永久生效
      • 让PS1环境变量为某个用户永久生效
      • linux启动后环境变量加载顺序
    • PS1美化脚本
    • zsh的PS1配置
    • PS1变量在线生成工具

PS1变量参考

字体颜色参考: https://www.ohyee.cc/post/note_bash_terminal
Linux的PS1美化_第1张图片

变量 解释
\u: 显示当前用户账号
\h: 显示当前主机名
\W: 只显示当前路径最后一个目录
\w: 显示当前绝对路径(当前用户目录会以~代替)
$PWD: 显示当前全路径
$$: 显示命令行’$$'或者’#'符号
#: 下达的第几个命令
\d: 代表日期,格式为week day month date,例如:“MonAug1”
\t: 显示时间为24小时格式,如:HH:MM:SS
*\T: 显示时间为12小时格式
*\A: 显示时间为24小时格式:HH:MM
*\v: BASH的版本信息
# 一般颜色符是以[m\]结尾
## 主机名和用户名
export PS1="\[\e[42m\]\h\[\e[m\]  \[\e[42m\]\u\[\e[m\] "

## 主机名
export PS1="\[\e[42m\]\h\[\e[m\] "

终端字体颜色

Linux的PS1美化_第2张图片


临时设定PS1

# 如
export PS1=[\u@\h\w#]$‘

让PS1环境变量为每个用户永久生效

/etc/bashrc的最后一行添加上面PS1变量


让PS1环境变量为某个用户永久生效

就在那个用户的家目录下的.bashrc的最后一行添加上面PS1变量


linux启动后环境变量加载顺序

https://blog.csdn.net/omaidb/article/details/116019501

/etc/profile/etc/profile.d/*.sh~/.bash_profile~/.bashrc/etc/bashrc

Bash在显示PS1之前先执行PROMPT_COMMAND环境变量定义的内容.


PS1美化脚本

以下示例只适用于bash.
echo $STY的意思 : 获取screen会话保持会话ID

建议将ps1美化脚本写在/etc/profile.d/ps1.sh中。

示例1: 以显示home

# \u 表示当前用户的用户名。
# $(echo $STY | cut -d . -f2) 表示获取当前 screen 会话的编号,并去掉前缀部分,只保留编号部分。
# \h 表示主机名。
# \w 表示当前目录的完整路径。
# ${PIPESTATUS[0]} 表示最近一条命令执行后的退出状态码。

PS1='\[\033[01;35m\][\[\033[01;32m\]\u\[\033[01;32m\]$(echo $STY | cut -d . -f2)\[\033[01;35m\] \[\033[01;35m\]\[\033[01;35m\]\h\[\033[01;35m\] \[\033[38;5;39m\]\w\[\033[31m\]] \[\033[38;5;221m\]WORK \[\033[1;37m\]${PIPESTATUS[0]}\[\033[01;36m\] \n# \[\033[00m\]'

# 声明全局变量
export PS1

Linux的PS1美化_第3张图片

示例2: 以绝对路径显示PWD,且以终端颜色显示路径

PS1='\[\033[01;35m\][\[\033[01;32m\]\u\[\033[01;32m\]$(echo $STY | cut -d . -f2)\[\033[01;35m\] \[\033[01;35m\]\[\033[01;35m\]\h\[\033[01;35m\] \[$(tput setaf 0)\]$(pwd)] \[\033[38;5;221m\]WORK \[\033[1;37m\]${PIPESTATUS[0]}\[\033[01;36m\] \n# \[\033[00m\]'

# 声明全局变量
export PS1

Linux的PS1美化_第4张图片

示例3: 以绝对路径显示PWD,且以蓝色显示路径

PS1='\[\033[01;35m\][\[\033[01;32m\]\u\[\033[01;32m\]$(echo $STY | cut -d . -f2)\[\033[01;35m\] \[\033[01;35m\]\[\033[01;35m\]\h\[\033[01;35m\] \[\033[38;5;39m\]$(pwd)\[\033[31m\]] \[\033[38;5;221m\]WORK \[\033[1;37m\]${PIPESTATUS[0]}\[\033[01;36m\] \n# \[\033[00m\]'

# 声明全局变量
export PS1

Linux的PS1美化_第5张图片


zsh的PS1配置

参考:
https://blog.csdn.net/zxc3590235/article/details/109954843
https://blog.csdn.net/u014218108/article/details/51195582
zsh.zshrc会覆盖PS1配置,需要单独在~/.zshrc中配置。

# 编辑.zshrc
vim ~/.zshrc

# 将PS1内容复制进去

# 使PS1变量生效
source ~/.zshrc

PS1变量在线生成工具

https://ezprompt.net/

你可能感兴趣的:(Linux优化,PS1)