我知道非列印字元可能會擾亂 bash 的換行行為,但我已經觀察我的 PS1 一段時間了,它似乎沒有任何問題。
這是我的提示代碼.bashrc
:
reset="\[\033(B\033[m\]"
fgblack="\[\033[30m\]"
bgblack="\[\033[40m\]"
fgred="\[\033[31m\]"
bgred="\[\033[41m\]"
fggreen="\[\033[32m\]"
bggreen="\[\033[42m\]"
fgyellow="\[\033[33m\]"
bgyellow="\[\033[43m\]"
fgblue="\[\033[34m\]"
bgblue="\[\033[44m\]"
fgmagenta="\[\033[35m\]"
bgmagenta="\[\033[45m\]"
fgcyan="\[\033[36m\]"
bgcyan="\[\033[46m\]"
fgwhite="\[\033[37m\]"
bgwhite="\[\033[47m\]"
bolded="\[\033[1m\]"
dim="\[\033[2m\]"
italic="\[\033[3m\]"
underlined="\[\033[4m\]"
PROMPT_COMMAND=__prompt_command
__prompt_command() {
local EXIT="$?"
PS1="${bolded}[ ${fgblue}\w ${reset}${bolded}]\n"
if [ $EXIT != 0 ]; then
PS1+="${fgblack}${bgwhite}"
else
PS1+="${fggreen}"
fi
PS1+="\u${reset}@${fgmagenta}\h ${reset}\$ "
}
誰能找出我典型的 bash 包裝問題的原因嗎?