背景
由于以下原因,不是很想安装 zsh:
- zsh 不如 bash 轻量
- 远程主机一般自带 bash,zsh 需要额外安装
- zsh 配置比较复杂,需要额外的插件
- 年龄大了,喜欢做减法,折腾不动
叠甲
当然我之前对 zsh 就不是深度用户,只是喜欢 git 插件、能显示时间和 ret code,还有历史命令匹配。
效果
- 显示时间
- 显示 git branch(如果在 git 仓库)
- 显示上次命令的 ret code(如果非 0)
[分享创造] [送码] HexHub 发布一段时间后,聊聊我理解的开发者工作台: SSH、数据库、Docker 和 AI Agent,顺便送码
[分享创造] [送码] HexHub 发布一段时间后,聊聊我理解的开发者工作台: SSH、数据库、Docker 和 AI Agent,顺便送码

至于历史命令暂时还使用 ctrl + r 替代:
用法
其实就是把这段加到 ~/.bashrc 里即可:
GREEN="\[\e[32;1m\]"
BLUE="\[\e[36;1m\]"
WHITE="\[\e[37;1m\]"
BLACK="\[\e[30;1m\]"
RED="\[\e[31;1m\]"
YELLOW="\[\e[33;1m\]"
PURPLE="\[\e[35;1m\]"
DARK_GREEN="\[\e[36;1m\]"
CLEAR="\[\e[0m\]"
_JOB_="\j"
_FILECOUNT_="Files: \$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g')"
_HISTORY_="\!"
_DATE_="\$(/bin/date)"
_CLOCK_="\t"
_SIZE_="Size: \$(/bin/ls -lah | /usr/bin/head -n 1 | /usr/bin/cut -d ' ' -f 2)"
_PATH_="\$(pwd)"
_GIT_="\$(git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/')"
_EXIT_CODE_="\$(_VALU_="\$?" ; if [ \$_VALU_ == 0 ]; then echo ''; else echo \"\$_VALU_ \"; fi)"
export PS1="$RED$_EXIT_CODE_$YELLOW\u$BLUE@$YELLOW\h $GREEN$_PATH_ $BLUE$_GIT_ $WHITE$_CLOCK_ \n$CLEAR\$ "
其他
如果有大佬可以丰富一下 bash 提示符的功能,欢迎补充互相学习~
11 个帖子 - 8 位参与者