回答:
約30分かけてandhrimnirのコードをいじり、さらに調査を行った後、私はついに自分が望むものを手に入れました。
PS1="\w \`if [ \$? = 0 ]; then echo -e '\[\e[01;32m\]\n\xE2\x98\xBA'; else echo -e '\[\e[01;31m\]\n\xE2\x98\xB9'; fi\` \[\e[01;34m\]\[\e[00m\]"
あなたは見つけることができ、ここで顔文字のリストを、次にそれらを変換し、あなたが改行文字の後に表示3桁のバイトコードに。
取得するためにcwd
、私がしなければならなかったのは使用だけでした\w
。また、\u@\w
次のように出力することで、現在のユーザーを表示することもできjoshsmith@~
ます。
上記のスマイリーフェイスはユニコード文字のようです0x263a
。そのため、Unicode対応の端末が必要になります(terminal.appがこれをサポートしているかどうかはわかりませんが、サポートしていると思います)。
戻りコード0の場合は緑のスマイリーフェイスを、それ以外の場合は赤の眉をひそめたフェイスを印刷するサンプルコードを次に示します。
PS1="\[\e[01;32m\]\u@\h \[\e[01;34m\]\W \`if [ \$? = 0 ]; then echo -e '\[\e[01;32m\]:)'; else echo -e '\[\e[01;31m\]:('; fi\` \[\e[01;34m\]$\[\e[00m\]"
$PS1
ものをもっと深く知りたい場合は、上記のリンクのスレッドに多くの情報があります。
$
、実際にUnicodeシンボルを使用し、完全なを表示する方法に興味がありますcwd
。