如何让我的命令提示符看起来像一个芝士汉堡?

我想让我的Shell提示符看起来像一个芝士汉堡!
如果它还能显示用户名、主机名和当前目录就更好了。

13哪种字体可以显示这些Unicode字符? - s3lph
7@the_Seppi,Symbola 是一种适合的字体,在Ubuntu上是ttf-ancient-fonts软件包的一部分。 - cjm
有关时间、用户、主机、目录和git分支(!)的信息,请参考http://unix.stackexchange.com/q/127799/10043。 - Michael Durrant
39你使用的Unicode字符是hamburger的字符,而不是cheeseburger。我们必须向Unicode委员会申请包含更多与快餐相关的字形。鸡块在哪里?为什么没有“加培根”的组合字形?双层巨无霸和大麦克怎么可以被混淆到同一个代码点上,尽管它们在重要性上有如此巨大的差异?这太荒谬了。 - Federico Poloni
7你能添加一张截图吗?我只看到一个“,”这不好玩!;-) - SPRBRN
5@SPRBRN,你可以在unicode-table.com上搜索字符:http://unicode-table.com/en/search/?q=%F0%9F%8D%94 - manatwork
虽然我这里的字体看起来与那个完全不同。 - OrangeDog
@SPRBRN 使用答案-安装那个字体包,然后浏览器也会像终端一样找到字形。 - Volker Siegel
55的源代码是 - Digital Trauma
3我必须说,现在我安装了tff-ancient-fonts后,这个问题看起来好多了。 - Thomas
可能是重复的问题:如何缩短我的命令行(bash)提示符? - Braiam
7个回答

很棒的选择!
$ sudo apt-get install ttf-ancient-fonts
$ export PS1="\\u@\h \\w  "

享受。

在提示上放一个奶酪汉堡:
安装一个包含这个字符的Unicode字体: sudo apt-get install ttf-ancient-fonts
尝试提示符: export PS1="\\u@\h \\w "
使更改永久生效(如果不这样做,终端关闭后将重置): 运行nano .bashrc 转到大约第59行(您可以按Ctrl+C查看当前行号) 找到以下行: if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi
将以PS1=开头的行末尾的$字符替换为cheeseburger: if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\ ' fi

在Linux系统中的任何地方输入一个芝士汉堡:

  1. 按下 Ctrl+Shift+U
  2. 会出现一个带下划线的小写字母 u
  3. 输入1f354
  4. 按下 Return
  5. 会出现一个美味的芝士汉堡。

对我来说没有显示出来 - Find Me In The Woods
我只得到一个正方形。 - Find Me In The Woods
1@FindMeInTheWoods,你安装了ttf-ancient-fonts吗? - 0x2b3bfa0
2Ctrl-shift-u 在 xterm 或者 emacs 中似乎无法使用。 - Mutant Bob
10Ctrl-shift-u 不仅适用于 Linux,也适用于 GTK(例如,在 Windows GIMP 中也可以使用)。它在 xterm、emacs 或任何基于 Qt 的应用程序中都无法工作,包括整个 KDE。此外,无需按下回车键,只需释放 Ctrl 和 Shift 键,字符就会被输入。 - Ruslan
@Ruslan:抱歉,可能就像你说的那样。然而,当我按下Ctrl+Shift+U时,xterm会显示一个小框,让我输入Unicode字符,但只限于“可打印”范围内。 - 0x2b3bfa0

我情不自禁地可能过了头。此版本会根据时间显示不同的字符,以说明您应该在那个时候做什么。

declare -A pp
pp=(["09"]="" ["07"]="" ["08"]="" [10]="" [11]="" [12]="" [13]="" [14]="" [15]="" [16]="" [17]="" [18]="" [19]="" [20]="" [24]="")
u_pp() {
  c=${pp[`date +"%H"`]}
  if [[ $c == "" ]]; then
    c=${pp[24]}
  fi
  PS1='\u@\h:\w${c} '
};
u_pp
export PROMPT_COMMAND="u_pp;"

可能有更简洁的方法来实现它;我的bash水平并不是很高。
要在左侧添加当前时间,请替换PS1的赋值:
PS1='[\@] \u@\h:\w${c} '

我知道这可能是在askubuntu中被问到的最愚蠢的问题,但我只是想知道你是否有办法在mac上使其工作,因为当我将其添加到我的(mac)~/.bash_profile时,我得到了“no matches found: [9]=” 的错误提示 :) - sameera207
糟糕,这是我在我的电脑上发现并修复的一个字符串与整数之间的错误,但是忘记更新文本。基本上,将像[9]和[7]这样的单个数字键更改为["08"]等。请查看更新后的答案。我的错,抱歉。 - Dan Morrill

如果你无法安装“古老字体”,也许一个侧面的ASCII艺术芝士汉堡会起作用?
export PS1="\\u@\h \\w (||]"

当然,输入的方式可能有所不同,可能包括生菜、腌菜等。

你可以使用以下代码创建一个有用且色彩丰富的提示,其中包含一个ASCII艺术的汉堡包。嗯...准确来说,这是一份芝士汉堡包,红肉,上面放着沙拉,夹在白色意大利面包中!特别美味!;-)
登录为用户,进入主文件夹并打开bashrc文件:
vim ~/.bashrc 

添加或替换以下行:
export PS1="\[\e[01;37m\][\[\e[0m\]\[\e[01;32m\]\u\[\e[0m\]\[\e[00;37m\]@\[\e[0m\]\[\e[01;34m\]\h\[\e[0m\]\[\e[00;37m\] \[\e[0m\]\[\e[00;37m\]\t\[\e[0m\]\[\e[01;37m\] \W \e[1;37m(\e[1;32m|\e[1;33m|\e[1;31m|\e[1;37m]\\$ \[\e[0m\]"

结果(无颜色):

[john@server003 15:39:14 ~ (|||]$

绿色奶酪汉堡:
export PS1='\[\e[1;32m\][\u@\h \W]\ \[\e[0m\] '

红色芝士汉堡:
export PS1='\[\e[1;31m\][\u@\h \W]\ \[\e[0m\] '

自行车:
export PS1="\\u@\h \\w  "

或者

export PS1="\\u@\h \\w  "

爱心:

export PS1="\\u@\h \\w      "

在左侧显示时间,在右侧显示手表:
export PS1="[\@] \u@\h  "

除了直接将表情符号粘贴到提示定义中,您还可以在提示中使用奶酪汉堡的Unicode代码点与printf和命令替换一起使用:
$ PS1='$(printf "\U0001f354") $ '
 $ echo "Hello,my cheesy prompt!"
Hello,my cheesy prompt!
 $