Bagaimana cara menampilkan lelucon acak dari www.icndb.com di terminal Anda?

17

Saya sudah tahu bahwa Anda bisa mendapatkan beberapa kutipan / lelucon yang bagus menggunakan program keberuntungan .

Tetapi saya telah menemukan dalam skrip urwird ini sumber kesenangan baru yang ingin saya miliki ketika saya membuka terminal baru.

Kali ini lelucon itu berasal dari http://www.icndb.com .

Sylvain Pineau
sumber

Jawaban:

25

Anda dapat menggunakan icndb RESTful API: http://www.icndb.com/api/ .

  1. Instal cowsay, recodedan jshonpaket:

    sudo apt-get install cowsay recode jshon
  2. Kemudian tambahkan saja baris berikut ke .bashrc:

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

    Catatan : memeriksa jika $PS1diatur memastikan bahwa lelucon tidak akan ditampilkan pada sesi non-interaktif.

  3. Sekarang ketika saya membuka gnome-terminalsaya mendapatkan:

    masukkan deskripsi gambar di sini

Sylvain Pineau
sumber
3
Jika Anda menginstal cowsay, Anda mungkin juga menginstalnya jshon. Itu membuat parsing JSON jauh lebih ringkas (dan mungkin lebih cepat):wget "http://api.icndb.com/jokes/random" -qO- | jshon -e value -e joke -u
Oli
1
Saya tidak yakin Anda akan membutuhkannya (recode) dengan JSON. Dan jshon- u harus mengembalikan string yang sudah diterjemahkan.
Oli
1
Cukup adil. Itu kesalahan icndb.com lebih dari JSON.
Oli
1
Saya cukup yakin default ~/.bashrcsudah memeriksa apakah itu shell interaktif ( [[ $- != *i* ]] && return).
nyuszika7h
2
Tidak perlu garis miring terbalik untuk kelanjutan garis setelah pipa. Pipa menyebabkan saluran dilanjutkan dengan sendirinya.
Dijeda sampai pemberitahuan lebih lanjut.