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.