5 de jul de 2009

Cowsay - animando o terminal

Cowsay é um "inútil" programinha onde uma vaca desenhada em ascii fala uma frase escolhida por você. A única utilidade dela realmente pra mim, é animar o terminal quando chamo o mesmo. Olhem o exemplo abaixo:

Quando chamo o terminal, o Tux feito em ascii me cumprimenta. \o/
Como podem ver, existe mais animais além da vaca.

Agora vou ensinar como instalar e configurar no Ubuntu para ocorrer isso toda vez que chame o terminal.

Para instalar:
sudo apt-get install cowsay


Depois de instalado, pode chamar o programa desta forma:
cowsay MundoLunga.com


Existem vários outros desenhos que já vem com o programa.
Outro exemplo:
cowsay -f tux seutexto

A sintaxe é:
cowsay -f [nomedodesenho] [oquequerfalar]


Outras opções de desenho:
apt, beavis.zen, bong, bud-frogs, bunny, cheese, cower, daemon, default, dragon, dragon-and-cow, elephant, elephant-in-snake, eyes, flaming-sheep, ghostbusters, head-in, hellokitty, kiss, kitty, koala, kosh, luke-koala, mech-and-cow, meow, milk, moofasa, moose, mutilated, ren, satanic, sheep, skeleton, small, sodomized, sodomized-sheep, stegosaurus, stimpy, supermilker, surgery, telebears, three-eyes, turkey, turtle, tux, udder, vader, vader-koala, www.

Digite: cowsay -L para mostrar todos animais disponíveis. :p

Para configurar o terminal para puxar o cowsay quando você acioná-lo, vá na sua pasta pessoal, exiba os arquivos ocultos (ctrl+h) e edite o arquivo ".bashrc". Adicione na última linha o seu comando cowsay personalizado da mesma forma que você o utiliza no terminal. :D

Update:
Conforme solicitado nos comentários, segue o esquema para randomizar os animais. Coloque no fim do seu bash.rc:
dir='/usr/share/cowsay/cows/'
file=`/bin/ls -1 "$dir" | sort --random-sort | head -1`
cow=$(echo "$file" | sed -e "s/\.cow//")
cowsay -f $cow seu texto aqui!

No lugar do "seu texto aqui!, digite sua mensagem.

Outros exemplos:
$ cowsay "Hello, bovine world! "
_______________________
<>
-----------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||

$ cowsay -b "Hello, bovine world! "
_______________________
<>
-----------------------
\ ^__^
\ (==)\_______
(__)\ )\/\
||----w |
|| ||
$ M="Hello, bovine world\!"
$ cowsay -d $M
______________________
<>
----------------------
\ ^__^
\ (xx)\_______
(__)\ )\/\
U ||----w |
|| ||
$ cowsay -p $M
______________________
<>
----------------------
\ ^__^
\ (@@)\_______
(__)\ )\/\
||----w |
|| ||
$ cowsay -s $M
______________________
<>
----------------------
\ ^__^
\ (**)\_______
(__)\ )\/\
U ||----w |
|| ||
$ cowsay -y $M
______________________
<>
----------------------
\ ^__^
\ (..)\_______
(__)\ )\/\
||----w |
|| ||

$ cowsay -f tux $M
_______________________
<>
-----------------------
\
\
.--.
|o_o |
|:_/ |
// \ \
(| | )
/'\_ _/`\
\___)=(___/