Wie zeige ich zufällige Witze von www.icndb.com in meinem Terminal an?


Antworten:


25

Sie können die RESTful-API von icndb verwenden: http://www.icndb.com/api/ .

  1. Installieren Sie die Pakete cowsay, recodeund jshon:

    sudo apt-get install cowsay recode jshon
  2. Dann fügen Sie einfach die folgenden Zeilen hinzu .bashrc:

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

    Hinweis : Wenn Sie prüfen, ob diese Option aktiviert $PS1ist, wird sichergestellt, dass die Witze bei nicht interaktiven Sitzungen nicht angezeigt werden.

  3. Wenn ich jetzt eine öffne, gnome-terminalbekomme ich:

    Bildbeschreibung hier eingeben


3
Wenn Sie cowsay installieren, können Sie dies auch tun jshon. Das Parsen des JSON wird dadurch wesentlich präziser (und wahrscheinlich auch schneller):wget "http://api.icndb.com/jokes/random" -qO- | jshon -e value -e joke -u
Oli

1
Ich bin mir nicht sicher, ob Sie das mit JSON benötigen (umkodieren). Und jshon's -u sollte trotzdem einen dekodierten String zurückgeben.
Oli

1
Meinetwegen. Das liegt mehr an icndb.com als an JSON.
Oli

1
Ich bin mir ziemlich sicher, dass die Standardeinstellung ~/.bashrcbereits überprüft, ob es sich um eine interaktive Shell handelt ( [[ $- != *i* ]] && return).
Nyuszika7h

2
Es ist kein Backslash für die Fortsetzung der Linie nach einer Rohrleitung erforderlich. Das Rohr bewirkt, dass die Leitung von selbst fortgesetzt wird.
Bis auf weiteres angehalten.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.