Comment afficher des blagues aléatoires sur www.icndb.com dans votre terminal?

17

Je sais déjà que vous pouvez obtenir de jolies citations / blagues en utilisant le programme fortune .

Mais j'ai trouvé dans ce script urwird une nouvelle source de plaisir que j'aimerais avoir lorsque j'ouvre un nouveau terminal.

Cette fois, les blagues proviennent de http://www.icndb.com .

Sylvain Pineau
la source

Réponses:

25

Vous pouvez utiliser l'API RESTful icndb: http://www.icndb.com/api/ .

  1. Installez les cowsay, recodeet les jshonpaquets:

    sudo apt-get install cowsay recode jshon
  2. Ensuite, ajoutez simplement les lignes suivantes à votre .bashrc:

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

    Remarque : vérifier si $PS1est défini garantit que les blagues ne seront pas affichées sur les sessions non interactives.

  3. Maintenant, quand j'ouvre un, gnome-terminalje reçois:

    entrez la description de l'image ici

Sylvain Pineau
la source
3
Si vous installez cowsay, vous pourriez aussi bien l'installer jshon. Cela rend l'analyse du JSON beaucoup plus concise (et probablement plus rapide):wget "http://api.icndb.com/jokes/random" -qO- | jshon -e value -e joke -u
Oli
1
Je ne suis pas sûr que vous en aurez besoin (recoder) avec JSON. Et jshon'-u devrait de toute façon retourner une chaîne décodée.
Oli
1
C'est suffisant. C'est la faute de icndb.com plus que JSON.
Oli
1
Je suis presque sûr que la valeur par défaut ~/.bashrcvérifie déjà s'il s'agit d'un shell interactif ( [[ $- != *i* ]] && return).
nyuszika7h
2
Pas besoin de barre oblique inverse pour la poursuite de la ligne après un tuyau. Le tuyau fait que la ligne se poursuit d'elle-même.
pause jusqu'à nouvel ordre.