¿Cómo mostrar chistes al azar de www.icndb.com en su terminal?

Respuestas:

25

Puede usar la API RESTful de icndb: http://www.icndb.com/api/ .

  1. Instalar los cowsay, recodey jshonpaquetes:

    sudo apt-get install cowsay recode jshon
  2. Luego solo agregue las siguientes líneas a su .bashrc:

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

    Nota : comprobar si $PS1está configurado garantiza que los chistes no se mostrarán en sesiones no interactivas.

  3. Ahora cuando abro un gnome-terminalme sale:

    ingrese la descripción de la imagen aquí

Sylvain Pineau
fuente
3
Si está instalando cowsay, también podría instalarlo jshon. Hace que analizar el JSON sea mucho más conciso (y probablemente más rápido):wget "http://api.icndb.com/jokes/random" -qO- | jshon -e value -e joke -u
Oli
1
No estoy seguro de que necesitarás eso (recodificar) con JSON. Y jshon's -u debería devolver una cadena decodificada de todos modos.
Oli
1
Lo suficientemente justo. Eso es culpa de icndb.com más que JSON.
Oli
1
Estoy bastante seguro de que el valor predeterminado ~/.bashrcya comprueba si es un shell interactivo ( [[ $- != *i* ]] && return).
nyuszika7h
2
No es necesario una barra invertida para la continuación de la línea después de una tubería. La tubería hace que la línea continúe por sí misma.
Pausado hasta nuevo aviso.