Como exibir piadas aleatórias em www.icndb.com no seu terminal?


Respostas:


25

Você pode usar a API RESTful do icndb: http://www.icndb.com/api/ .

  1. Instale os cowsay, recodee jshonpacotes:

    sudo apt-get install cowsay recode jshon
  2. Em seguida, basta adicionar as seguintes linhas ao seu .bashrc:

    if [ "$PS1" ]; then
        wget "http://api.icndb.com/jokes/random" -qO- | jshon -e value -e joke -u |
        recode html | cowsay -f tux
    fi

    Nota : verificar se $PS1está definido garante que as piadas não sejam exibidas em sessões não interativas.

  3. Agora, quando abro um gnome-terminal, recebo:

    insira a descrição da imagem aqui


3
Se você estiver instalando o cowsay, também poderá instalar jshon. Isso torna a análise do JSON muito mais concisa (e provavelmente mais rápida):wget "http://api.icndb.com/jokes/random" -qO- | jshon -e value -e joke -u
Oli

1
Não sei se você precisará disso (recodificar) com JSON. E jshon's -u deve retornar uma string decodificada de qualquer maneira.
Oli

1
Justo. Isso é culpa do icndb.com mais do que JSON.
Oli

1
Tenho certeza de que o padrão ~/.bashrcjá verifica se é um shell interativo ( [[ $- != *i* ]] && return).
usar o seguinte código

2
Não há necessidade de uma barra invertida para a continuação da linha após um tubo. O tubo faz com que a linha continue por si só.
Pausado até novo aviso.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.