Bashrc PS1エラー

Bashrc PS1エラー

私はPS1bashのために良いものを作りました。http://bashrcgenerator.com/、ところで何か間違っているようです。端末エミュレータにランダムな文字が表示されます。これはPS1構文エラーがある可能性があることを意味します。奇妙なことは、ナノを使用して編集した後に機能することです。スペースを追加、削除、保存し、bashを実行すると正常に動作します。ところで、ログアウトしてから再度ログインすると、またエラーが出て変です。これは私の.bashrcです。

#
# ~/.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

alias ls='ls --color=auto'

#PS1='[\u@\h \W]\$ '
PS1="\[$(tput sgr0)\]\033[38;5;15m\033[38;5;14m\u\[$(tput sgr0)\]\033[38;5;15m\033[38;5;15m \[$(tput sgr0)\]\033[38;5;15m\033[38;5;10m\w\[$(tput sgr0)\]\033[38;5;15m\033[38;5;15m \
\[$(tput sgr0)\]\033[38;5;15m\033[38;5;14m\\$\[$(tput sgr0)\]\033[38;5;15m\033[38;5;15m \[$(tput sgr0)\]"

答え1

プロンプトを直接手動で生成することをお勧めします。いくつかの変数を設定するだけで、プロンプト設定コードを読むことができます。私のbashrcファイルには次のものがあります。

#Set variables for foreground colors
fgRed=$(tput setaf 1)     ; fgGreen=$(tput setaf 2)  ; fgBlue=$(tput setaf 4)
fgMagenta=$(tput setaf 5) ; fgYellow=$(tput setaf 3) ; fgCyan=$(tput setaf 6)
fgWhite=$(tput setaf 7)   ; fgBlack=$(tput setaf 0)
#Set variables for background colors
bgRed=$(tput setab 1)     ; bgGreen=$(tput setab 2)  ; bgBlue=$(tput setab 4)
bgMagenta=$(tput setab 5) ; bgYellow=$(tput setab 3) ; bgCyan=$(tput setab 6)
bgWhite=$(tput setab 7)   ; bgBlack=$(tput setab 0)
#Set variables for font weight and text decoration
B=$(tput bold) ; U=$(tput smul) ; C=$(tput sgr0)
#NOTE: ${C} clears the current formatting

PS1="${B}${fgCyan}\u${C}@\h(bash): ${fgGreen}\w${C} > "

私のヒントがどんなものか一目で知ることができると思います。これがポイントです。素晴らしいWYSIWYGエディタは必要ありません。

私が使う理由tputはい、携帯性が良くなければなりません。追加ボーナスとしてを使用するtputと。echo $PS1PS1

これはなぜ機能しないのかという答えではありません。しかし、このようなプロンプトを設定すると、確かにその不愉快なエラーを取り除くことができます。

関連情報