Como o Homebrew pode imprimir uma caneca de cerveja no Terminal?

77

O Homebrew tem um truque para imprimir pequenos ícones ao lado de sua saída. Como isso:

fermentar ícones na saída do terminal

Se eu copiar, colar o ícone por conta própria e pressionar Enter, obtém o resultado:

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

E se eu tentar com isso echoou printfapenas get ????. Mesmo se eu escapar de todas as citações $es etc.

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

Então, como eles fazem isso? O que $'?\237\215?'significam os personagens mágicos ?

stib
fonte

Respostas:

68

O Homebrew é de código aberto, então você pode ler o código para descobrir como ele mostra o ícone. A linha que eles estão usando está no arquivoformula_installer.rb :

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

O primeiro caractere no printcomando é " 🍺" ou unicode # 1f37a 'CANECA DE CERVEJA' .

Portanto, não é um ícone, mas uma caneca de cerveja unicode engraçada :)

zed_0xff
fonte
18
Impressionante. Assim, no shell eu só posso fazer echo -e "\ xF0 \ x9f \ x8d \ Xba"
STIB
4
Além disso, tente procurá-lo no dicionário OS X (clique com o botão direito do mouse em> procurar);)
ihatetoregister
4
Ou com octal:echo $'\360\237\215\272'
Chad Skeeters
1
Também em qualquer lugar do OS X, você pode chamar o teclado Emoji usando o atalho Ctrl + Cmd + Space. Não funciona em todos os lugares, mas funciona na maioria dos lugares
dominicbri7
13

BTW, tente outras variantes no terminal:

echo $'\360\237\215\270'
echo $'\360\237\215\271'
echo $'\360\237\215\273'
echo $'\360\237\215\274'
Ivan
fonte
3
Para aqueles que não têm uma fonte contendo estes símbolos: Estes são símbolos / imagens de várias bebidas. Veja codepoints.net/misc
Miscellaneous_symbols_and_pictographs