78

Homebrew has a neat trick of printing out little icons next to its output. Like this:

brew icons in terminal output

If I copy paste the icon it on its own and hit enter I get the result:

-bash: $'?\237\215?': command not found

And if I try it with echo or printf I just get ????. Same if I escape all the quotes and $s etc.

editron:~ stib$ echo $'?\237\215?'
????

So how do they do that? What do the magic characters $'?\237\215?' mean?

2 Answers 2

70

Homebrew is open source, so you can read its code to find out how it shows the icon. The line they're using is in the file formula_installer.rb:

print "🍺  " if MacOS.version >= :lion

The first character in the print command is a "🍺", or unicode #1f37a 'BEER MUG'.

So it's not an icon but an funny unicode beer mug :)

4
  • 19
    Awesome. So in the shell I can just do echo -e "\xF0\x9f\x8d\xba"
    – stib
    Jan 18, 2013 at 13:28
  • 4
    Also, try looking it up in the OS X dictionary (right click > look up) ;) Feb 13, 2013 at 1:13
  • 4
    Or with octal: echo $'\360\237\215\272' Jul 3, 2013 at 21:46
  • 1
    Also from just about anywhere in OS X you can summon the Emoji keyboard using the shortcut Ctrl + Cmd + Space. Doesn't work everywhere but works in most places Jul 29, 2016 at 9:20
13

BTW, try another variants in terminal:

echo $'\360\237\215\270'
echo $'\360\237\215\271'
echo $'\360\237\215\273'
echo $'\360\237\215\274'
1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.