Як відобразити випадкові жарти з www.icndb.com у своєму терміналі?


17

Я вже знаю, що ви можете отримати кілька приємних цитат / жартів за допомогою програми fortune .

Але я знайшов у цьому сценарії urwird нове джерело розваги, яке мені хотілося б отримати, коли відкриваю новий термінал.

Цього разу жарти походять з http://www.icndb.com .

Відповіді:


25

Ви можете скористатися програмою icndb RESTful API: http://www.icndb.com/api/ .

  1. Встановити cowsay, recodeі jshonпакети:

    sudo apt-get install cowsay recode jshon
  2. Тоді просто додайте до свого рядка такі рядки .bashrc:

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

    Примітка : перевірка того, чи $PS1встановлено, гарантує, що анекдоти не відображатимуться на неінтерактивних сесіях.

  3. Тепер, коли я відкриваю, gnome-terminalя отримую:

    введіть тут опис зображення


3
Якщо ви встановлюєте cowsay, ви також можете встановити jshon. Це робить синтаксичний розбір JSON набагато більш стислим (і, мабуть, швидшим):wget "http://api.icndb.com/jokes/random" -qO- | jshon -e value -e joke -u
Oli

1
Я не впевнений, що вам знадобиться це (перекодувати) з JSON. І jshon's -u все одно повинен повернути декодований рядок.
Олі

1
Справедливо. Це винність icndb.com більше, ніж JSON.
Олі

1
Я впевнений, що за замовчуванням ~/.bashrcвже перевіряється, чи це інтерактивна оболонка ( [[ $- != *i* ]] && return).
nyuszika7h

2
Немає необхідності в зворотному нахилі для продовження лінії після труби. Труба спричиняє продовження лінії сама по собі.
Призупинено до подальшого повідомлення.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.