Я бы хотел установить в приглашении bash фиксированную ширину и компенсировать разницу в пространстве перед символом $, поэтому, независимо от того, длинное или короткое, мое приглашение остается такой же ширины:
[name@host] ~/Directory/Dir...Another/LastDir $
[name@host] ~/Directory(branch) $
В настоящее время в коротком пути к каталогу мое приглашение выглядит примерно так:
[name@host] ~/Directory(branch) $
более глубокий путь к каталогу выглядит следующим образом:
[name@host] ~/Directory/Dir...Another/LastDir $
Вы можете видеть, что я обрезал PWD в середине, чтобы я мог видеть, где начинается путь и где он заканчивается. Я хотел бы компенсировать разницу до $.
Вот мое текущее приглашение:
# keep working directory to 30 chars, center tuncated
prompt_pwd() {
local pwd_symbol="..."
local pwd_length=30
newPWD="${PWD/#$HOME/~}"
[ ${#newPWD} -gt ${pwd_length} ] && newPWD=${newPWD:0:12}${pwd_symbol}${newPWD:${#newPWD}-15}
}
# set prompt
prompt_color() {
PROMPT_COMMAND='prompt_pwd;history -a;title_git'
PS1="${WHITEONMAGENTA}[\u@\h]${MAGENTA} \w\$(parse_git_branch) ${MAGENTABOLD}\$${PS_CLEAR} "
PS1=${PS1//\\w/\$\{newPWD\}}
PS2="${WHITEONTEAL}>${PS_CLEAR} "
}
В моем поиске я обнаружил Подсказка ширины вашего термина , которая выполняет некоторое заполнение, но не может заставить его работать для этого конкретного приглашения.