Como posso configurar o cowsay?

18

Eu instalei cowsaye fortune. Quero definir minhas próprias palestras ou textos cowsay. Mas não consigo configurá-lo. Quando abro o terminal, não há mais nada cowsay. Eu quero mostrar cowsayquando eu iniciar o terminal.

Mas isso funciona:

hash@ssl50:~$ cowsay -f tux "Carry on"

< carry on >
----------
   \
    \
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/
Fahad Ahammed
fonte

Respostas:

13

Bem, no Linux Mint, há uma coisa divertida que você pode fazer: escreva um script para selecionar uma vaca e exiba uma mensagem da sorte . Eu vou chegar mais tarde. Depois de ter o script, tudo o que você precisa fazer é executá-lo. Como sugerido anteriormente, edite seu arquivo ~ / .bashrc e adicione no final uma linha contendo o caminho para o seu script. Por exemplo, se você tiver o script em sua pasta pessoal e o nome do arquivo for "cowscript", poderá adicionar a seguinte linha no final do seu arquivo ~ / .bashrc:

$HOME/cowscript

Agora, o script usado no Linux Mint 9 é o seguinte:

#!/bin/bash
RANGE=4

number=$RANDOM
let "number %= $RANGE"
case $number in
    0)
        cow="small"
        ;;
    1)
        cow="tux"
        ;;
    2)
        cow="koala"
        ;;
    3)
        cow="moose"
        ;;
esac

RANGE=2
number=$RANDOM
let "number %= $RANGE"
case $number in
    0)
        command="/usr/games/cowsay"
        ;;
    1)
        command="/usr/games/cowthink"
        ;;
esac
/usr/games/fortune | $command -f $cow

Basicamente, ele exibirá uma vaca aleatória ( pequena , smoking , coala ou alce ) e a mensagem será tirada da sorte. Além disso, esse script executará withows cowsay ou cowthink , a única diferença é que o cowthink exibirá uma vaca pensante em vez de uma vaca falante.

Agora, o mais divertido é que você pode modificar o script para mostrar mais vacas ou mostrar diferentes vacas. Para fazer isso, primeiro você precisa saber quais vacas você instalou. Em um terminal, execute:

cowsay -l

Você pode usar qualquer uma dessas vacas. Tudo o que você precisa fazer é editar o script: se você quiser adicionar uma nova vaca, basta copiar as linhas que contêm "vaca" (mais o número e os pontos e vírgulas) e colá-las antes da linha que diz "esac". Em seguida, altere o número e o nome da vaca, por exemplo, se você deseja adicionar uma vaca chamada "úbere", basta adicionar essas linhas antes do primeiro "esac":

4)
    cow="udder"
    ;;

Importante : a segunda linha do arquivo, "RANGE = 4", também deve ser alterada. Se você adicionar uma vaca, em vez de 4 use 5, também se excluir uma vaca, deverá usar 3 e assim por diante. Observe também que os números que você vê devem estar no intervalo de 0 a RANGE - 1 . É por isso que RANGE é 4 e os números são 0, 1, 2 e 3.

Você também pode criar suas próprias vacas, embora isso possa exigir um pouco mais de trabalho. Tudo o que você precisa fazer é obter qualquer arte ASCII que você gosta e editá-la, mas é um pouco complicado. Você pode ver como isso é feito aqui: http://lmpeiris.wordpress.com/2011/01/17/cowsayhow-to-make-a-cow-talk-on-terminal-startup/ No entanto, considere que qualquer @ e \ os símbolos precisam ser invertidos, ou seja, você deve colocar antes desse símbolo esse outro símbolo: \ . Também pode ser o caso de # (mas nem sempre). Se sua arte ASCII contiver #, você pode fazer uma barra invertida também, mas às vezes seria suficiente com apenas um deles ... Não sei como explicar isso, desculpe. Eu acho que você terá que tentar ver se funciona. Além disso, verifique se o arquivo que você edita tem a extensão ".cow"

Finalmente, depois de ter suas próprias vacas, você pode adicioná-las ao local padrão (você provavelmente precisará ser superusuário) em / usr / share / cowsay / vacas ou pode adicionar ao seu arquivo ~ / .bashrc estas linhas:

export COWPATH="/usr/share/cowsay/cows"
# set COWPATH so it includes user's cows
if [ -d "$HOME/cowfiles" ] ; then
    COWPATH="$COWPATH:$HOME/cowfiles"
fi

Certifique-se de adicionar essas linhas antes de chamar seu "cowscript". Isso também pressupõe que você tenha uma pasta chamada "cowfiles" na sua pasta pessoal. Altere o caminho, se desejar, para que ele aponte para a pasta onde você tem seus arquivos de cowboy.

c30zD
fonte
13

cowsay linha de comando com cowfile aleatório:

fortune | cowsay -f `ls /usr/share/cowsay/cows/ | shuf -n 1`

Resultado:

     ___________________________________
/ Q: Who cuts the grass on Walton's \
\ Mountain? A: Lawn Boy.            /
 -----------------------------------
  \
   \ ,   _ ___.--'''`--''//-,-_--_.
      \`"' ` || \\ \ \\/ / // / ,-\\`,_
     /'`  \ \ || Y  | \|/ / // / - |__ `-,
    /@"\  ` \ `\ |  | ||/ // | \/  \  `-._`-,_.,
   /  _.-. `.-\,___/\ _/|_/_\_\/|_/ |     `-._._)
   `-'``/  /  |  // \__/\__  /  \__/ \
        `-'  /-\/  | -|   \__ \   |-' |
          __/\ / _/ \/ __,-'   ) ,' _|'
         (((__/(((_.' ((___..-'((__,'

Você pode adicionar esta linha de comando ao final do seu script de perfil de login para ver aleatoriamente cowsayem qualquer terminal. Para bash, você precisaria colocar esta linha ~/.bashrc.


Para torná-lo também escolher aleatoriamente entre cowsaye cowthink, você pode fazer o seguinte:

fortune | `ls /usr/games/cow* | shuf -n 1` -f `ls /usr/share/cowsay/cows/ | shuf -n 1`

Isso permite ter uma solução de uma linha com arquivos aleatórios, em vez de estender meticulosamente o script Linux Mint .

Reza Rahimi
fonte
Isto é perfeito! Exatamente o que eu queria.
landroni
Você precisa instalar os dois cowsaye fortunesfazer isso funcionar.
landroni
Isso é genial !! Obrigado pelo único liner: P :)
#
11
+1 Isso é ouro! Teve que adicionar um sed adicional: fortune | cowsay -f `ls /usr/local/share/cows/ | sed "s/.cow\*//g" | shuf -n 1` (Cygwin).
ps95 19/07/19
De fato, esse diretório possui alguns *.pmarquivos que não podem ser usados ​​diretamente, são necessários em outros *.cowarquivos. Não pense que você precisa sed, dando um caminho completo cowsay -f `ls /usr/share/cowsay/*.cow | shuf -n1` funciona para mim (diretório diferente na minha distro)
Beni Cherniavsky-Paskin
10

Se você deseja combinar cowsaye fortuneapresentar uma mensagem sempre que iniciar um terminal, adicione a seguinte linha:

fortune | cowsay -f tux

para o arquivo .bashrcna sua pasta pessoal.

tomodachi
fonte
2

Usei as duas primeiras respostas e a página de manual para obter os pensamentos aleatórios de uma tartaruga.

  1. cowsay -lFoi encontrada a opção para listar todos os arquivos de vaca.
  2. Depois de encontrar a tartaruga, editei o meu ~/.bashrc.

    fortune | cowsay -f turtle
    

PS: sugiro que seu primeiro passo seja.

$ sudo apt-get install fortune-mod fortunes-ubuntu-server fortunes-off fortunes-bofh-excuses fortunes-debian-hints fortunes-spam cowsay

Dessa forma, você terá muitas fortunas. Essas fortunas também são úteis se você tiver o "Wanda, o sábio peixe Gnome" instalado / possivelmente definido como autoRun.

Também um grande conjunto de fortunas é o pacote mint fortunes-husse.deb. Portanto, encontre o arquivo .deb on-line através de um rápido Google ou adicione os repositórios Mint ao Ubuntu.

user66952
fonte