Jak wyświetlić losowe dowcipy z www.icndb.com w swoim terminalu?


Odpowiedzi:


25

Możesz użyć icndb RESTful API: http://www.icndb.com/api/ .

  1. Zainstalować cowsay, recodea jshonpakietów:

    sudo apt-get install cowsay recode jshon
  2. Następnie wystarczy dodać następujące wiersze do .bashrc:

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

    Uwaga : sprawdzenie, czy $PS1jest ustawione, gwarantuje, że dowcipy nie będą wyświetlane podczas nieinteraktywnych sesji.

  3. Teraz, kiedy otwieram gnome-terminal, otrzymuję:

    wprowadź opis zdjęcia tutaj


3
Jeśli instalujesz cowsay, równie dobrze możesz zainstalować jshon. Dzięki temu parsowanie JSON jest o wiele bardziej zwięzłe (i prawdopodobnie szybsze):wget "http://api.icndb.com/jokes/random" -qO- | jshon -e value -e joke -u
Oli

1
Nie jestem pewien, czy będziesz tego potrzebować (przekodować) w JSON. I jshon-u i tak powinien zwrócić dekodowany ciąg.
Oli

1
Słusznie. To wina icndb.com bardziej niż JSON.
Oli

1
Jestem pewien, że domyślnie ~/.bashrcjuż sprawdza, czy jest to powłoka interaktywna ( [[ $- != *i* ]] && return).
nyuszika7h,

2
Nie ma potrzeby stosowania odwrotnego ukośnika dla kontynuacji linii po potoku. Rura powoduje, że linia jest kontynuowana sama.
Wstrzymano do odwołania.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.