Skip to content
56K.ES

56K.ES

Sobre software libre y otras movidas

Menu
Menu

El comando garfield – Tira cómica aleatoria en la shell

Posted on 05/03/202105/03/2021 by fanta

Posiblemente piensas que no existe cosa más chula que poder disponer de un comic de Garfield cada vez que escribas «garfield» en tu terminal más cercana.

Es algo bonito e improductivo en lo que emplear tu tiempo. Vamos a ponernos manos a la obra.

Instalar las dependencias

Puedes en Debian instalar las dependencias así:

# apt install curl wget feh

Si no utilizas Debian no pasa nada, nadie es perfecto.

El script garfield

Con nuestro editor favorito (nano, vim, emacs, le, …) podemos crear el archivo «garfield» con el siguiente contenido:

#!/bin/bash
# Copyright © Paws, Inc. All rights reserved. Comics by Jim Davis.
# 56k.es is not affiliated with Paws, Inc. or their website www.garfield.com.
# garfiel is just a script to get random Garfield comics from the website www.garfield.com.
# fanta - fanta@56k.es - Mar 2020

url=$(curl -sL "https://garfield.com/comic/random" | grep "img-responsive" | grep "gif" | cut -d "\"" -f 4 | cut -d "?" -f 1)
file=$(echo $url | cut -d "/" -f 7)
wget -q "$url" -O /tmp/$file
feh -xF /tmp/$file

Es importante dejar una pequeña cabecera con algo de info sobre el script.
Es importante indicar la salida de wget para que sobrescriba y no genere otro archivo igual pero con doble extensión .1, .2, .3, ….
feh con -x no muestra bordes el visor de imágenes. Con -F lo que hace es ponerse en pantalla completa.

Lo que hace el script es con curl atacar a la url garfield.com/comic/random . Esa url realiza una redirección hacia un comic aleatorio.
Por tanto es importante que curl lleve -L para que se siga la redirección.

Permisos al script

Se le han de dar permisos de ejecución al script.

$ chmod +x garfield

Y luego se puede copiar este en /usr/bin/ . Por ejemplo así:

# cp -pRv garfield /usr/bin

Finalmente ya con escribir «garfield» tendríamos que tener un comic aleatorio en pantalla.

Saludos cordiales.

1 thought on “El comando garfield – Tira cómica aleatoria en la shell”

  1. Rotietip dice:
    05/03/2021 a las 13:00

    Para que el script siga funcionando hay que cambiar las dos primeras lineas por esto:
    url=$(curl -sL "https://www.gocomics.com/random/garfield" | grep "item-comic-image" | grep -o -P 'data-srcset="[^ "]+' | cut -d '"' -f2)
    file=$(basename $url)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Emisión de 56k en Twitch

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
©2022 56K.ES | Built using WordPress and Responsive Blogily theme by Superb