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


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


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.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.