
私の Bash プロンプトは、その後のテキストを削除したり、履歴をあまりに遠くまで移動したりすると、自動的にクリアされます。
ログインすると、プロンプトは正常に表示されます。色付きのユーザー名の周りに白い括弧があり、プロンプトとして白い > が表示されますが、履歴を 2 つ上に移動すると、履歴コマンドによってプロンプトが上書きされます。
[stonewareslord] > #Initial prompt. stonewareslord is green
| Cursor is above this pipe symbol
[stonewareslord] > ls #Up arrow pressed once. ls was my last command. Colors are normal, ls is white
| Cursor is above this pipe symbol
pwdonewareslord] > ls #Up arrow a second time. pwd overwrite [st. pwd is white and the other colors are normal.
| Cursor is above this pipe symbol
コマンドを削除した場合にも発生します:
[stonewareslord] > ls #Typed command after initial prompt. stonewareslord is green
| Cursor is above this pipe symbol
[stonewareslord] > l #Deleted one character
| Cursor is above this pipe symbol
#Deleted second character (line is blank). Anything I type is white
| Cursor is above this pipe symbol
おそらくこれに影響を与える可能性のある bashrc 内の行は次のとおりです。
color='\e[0;32m' #Green
reset='\e[0m' #Color is set back to normal (white)
prompt(){
printf "[$color%s$reset]>" `whoami`
}
PS1=""
PROMPT_COMMAND=prompt
export HISTFILESIZE=
export HISTSIZE=
export HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S "
export HISTFILE=~/.bash_eternal_history
readonly HOME
readonly HISTIGNORE
答え1
さて、私はそれを回避する方法を見つけました:
PROMPT_COMMAND=prompt
次のように変更されました:
PROMPT_COMMAND='PS1=`prompt`'
編集:そして色は\[ \]
(つまりcolor='\[\e[0;32m\]'
)で包まれました