我正在尝试弄清楚如何自定义终端的 bash 提示符以使用笑脸。我想要的(如下例所示)是将 cwd 与提示符用 \n 分隔开,如果命令成功则显示绿色笑脸,如果失败则显示红色悲伤脸。
有任何想法吗?
这是受到 Peepcode 截屏视频的启发。
答案1
答案2
上面显示的笑脸似乎是 unicode 字符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\]"
感谢 Arch 论坛上的 Fingel(他发布了这篇文章这里)。