【光子AI】FastAPI 极简教程(从 0 到 生产级)
2026/1/7 23:47:48
这个 PS1 配置包含多个部分,让我详细分解:
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$\[\e]0;\u@\h: \w\a\]
\[\e]0;开始设置终端标题的转义序列\u@\h: \w标题内容:用户名@主机名: 当前目录\a\]结束标题设置(\a 是 BEL 字符,ASCII 7)${debian_chroot:+($debian_chroot)}
${debian_chroot:+($debian_chroot)}是 Bash 的参数扩展debian_chroot变量有值,显示(值)debian_chroot="testenv",则显示(testenv)\[\033[01;32m\]\u@\h\[\033[00m\]:
\[\033[01;32m\]设置样式:01= 粗体32= 绿色前景色\u@\h显示:用户名@主机名\[\033[00m\]重置所有样式:普通冒号分隔符\[\033[01;34m\]\w\[\033[00m\]\$
\[\033[01;34m\]设置样式:01= 粗体34= 蓝色前景色\w显示当前完整工作目录\[\033[00m\]重置所有样式\$显示$(普通用户)或#(root用户)# 假设: # 用户名:alice # 主机名:server # 当前目录:/home/alice/projects # debian_chroot 未设置 # 终端标题:alice@server: /home/alice/projects # 提示符显示:[绿色粗体]alice@server[重置]:[蓝色粗体]/home/alice/projects[重置]$ alice@server:/home/alice/projects$# 假设 debian_chroot="docker" # 终端标题不变 # 提示符显示: (docker)alice@server:/home/alice/projects$033[ # 开始转义序列 01; # 属性:粗体 32 # 颜色:绿色 m # 结束颜色设置 常见组合: 01;32m # 粗体绿色 01;34m # 粗体蓝色 00m # 重置所有属性\[和\]:包裹非打印字符,确保 Bash 正确计算提示符长度\e或\033:ASCII 转义字符(ESC,十六进制 0x1B)\a:响铃字符(ASCII 7),在标题序列中用作结束符# 原始 \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ # 分解写法 # 1. 设置终端标题 TITLE='\[\e]0;\u@\h: \w\a\]' # 2. 显示 chroot 环境 CHROOT='${debian_chroot:+($debian_chroot)}' # 3. 绿色用户名@主机名 USER_HOST='\[\033[01;32m\]\u@\h\[\033[00m\]:' # 4. 蓝色工作目录 WORK_DIR='\[\033[01;34m\]\w\[\033[00m\]\$' # 合并 PS1="$TITLE$CHROOT$USER_HOST$WORK_DIR"PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ 'parse_git_branch() { git branch 2>/dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' } PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;35m\]$(parse_git_branch)\[\033[00m\]\$ 'PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[32m\]\u@\h\[\033[0m\]:\[\033[34m\]\W\[\033[0m\]\$ ' # 区别:使用常规颜色(非粗体),仅显示当前目录名(\W 而不是 \w)这个配置是一个经典且实用的 Debian 风格提示符,平衡了信息量和美观性。