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 |
|:_/ |
// \ \
(| | )
/'\_ _/`\
\___)=(___/

4 comentários :

  1. Muito legal, mas ficaria bem melhor se tivesse uma forma de randomizar os desenhos quando chamar o terminal. Infelizmente não tenho conhecimento para fazer isso. Mas gostei da inutilidade. Muito Legal. :)

    ResponderExcluir
  2. Voce me deu uma boa ideia.

    Para deixar os animais aleatórios, coloque no final do 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 seutextoaqui

    ResponderExcluir
  3. Vc pode substituir a linha

    cow=$(echo "$file" | sed -e "s/\.cow//")

    por

    cow=${file%.cow}

    ResponderExcluir
  4. tudo numa linha só:

    cowsay -f "`cowsay -l | tail -n6 | sed 's/ /\n/g' | sort --random-sort | head -n1`" `fortune -s`

    (coloquei no esse comando final do meu ~/.bash.rc pra aleatorizar o desenho e um pensamento do fortune)

    ResponderExcluir

Seja bem-vindo! Em breve lerei seu comentário.

Os comentários podem ser moderados. Estarei removendo spams, comentários ofensivos, trols, discussões inúteis e qualquer coisa que não venha a contribuir com o blog.