私のgitブランチ情報(gitのbash-completionから__git_ps1を使用)と、最近実行されたコマンドが成功したかどうかを示す小さな色付きのスマイリーの両方を持つBashプロンプトを作成しようとしています。
スマイリーは、SO で見つけたこの手法を使用して作成されます。
SMILEY="${GREEN}:)${COLOR_NONE}"
FROWNY="${RED}:(${COLOR_NONE}"
STATUS_EMOTICON="if [ \$? = 0 ]; then echo \"${SMILEY}\"; else echo \"${FROWNY}\"; fi"
使用したいプロンプト行は次のとおりです。
export PS1="[\t]${RED}[\u@$MACHINE:${BOLD_CYAN}\w${GREEN}\$(__git_ps1 ' %s')${RED}]${COLOR_NONE} \`${STATUS_EMOTICON}\`\n$ "
$?
残念ながら、__git_ps1 によって実行されるプログラムが値をオーバーライドしているように見えますfalse
。
__git_ps1 呼び出しを取り出しています...
export PS1="[\t]${RED}[\u@$MACHINE:${BOLD_CYAN}\w${RED}]${COLOR_NONE} \`${STATUS_EMOTICON}\`\n$ "
...絵文字が正しく機能するようにします。
したがって、実行する${STATUS_EMOTICON}
前に評価する必要があるようですが、の出力の後__git_ps1
に評価された値を含めます。それは可能ですか? __git_ps1