Comparto unas modificaciones que he realizado a sendos scripts en Bash que sirven para subir texto o una imagen al servicio de paste mantenido por la comunidad openSUSE

Hace tiempo que he estado modificando y adaptando un par de scripts existentes que suben un texto o archivo de texto o una imagen al servicio susepaste para compartir logs o capturas en foros, listas de correo, etc.
Comparto con vosotros el resultado, que quizás lejos de ser perfecto es perfectamente válido y así me sirve para ver si hay que mejorar algo. Ya sabes: «release soon, release often».
susepaste.org es un sitio en el que poder compartir de forma efímera, textos, archivos o imágenes, para compartir con otras personas esa url que genera y así compartir un log, un mensaje de error, una captura de pantalla con un problema específico, etc.
Si usas openSUSE, seguro que ya tienes instalado en la ruta /usr/bin
los scripts susepaste y susepaste-screenshot. Mis versiones actualizan y corrigen algún error además de eliminar partes que no se utilizaban y añadir nuevas opciones.
Si queremos utilizar mis scripts, lo primero vamos a renombrar los scripts originales, para ello en la ruta /usr/bin
renombramos (como usuario root) ambos scripts añadiendo por ejemplo _orig
al nombre de ambos archivos.
Ahora descargamos desde mi repositorio en Codeberg los scripts que he modificado en la misma ruta, ejecutando:
wget https://codeberg.org/victorhck/paste_scripts/raw/branch/main/susepaste
wget https://codeberg.org/victorhck/paste_scripts/raw/branch/main/susepaste-screenshot
Y ya los podremos utilizar. Si queremos volver atrás borramos los scripts descargados y volvemos a renombrar los scripts originales eliminando _orig
del nombre.
susepaste
Este script sirve para enviar un archivo de texto, la salida de un comando o un texto que escribamos al servicio de susepaste y nos genera una url que nos devuelve y será la que podemos compartir. La modificación de mi script sigue haciendo eso, pero algunas cosas más.
¿Cómo utilizarlo?
Si ejecutamos susepaste -h nos muestra una pequeña información de cómo usar este sencillo script.
susepaste [-n nick] [-t title] [-e expire] [-f <file> or <path/to/file>]
(expire: 30m=30minutes; 1h=1hour; 6h=6hours; 12h=12hours; 1d=1day; 1w=1week; 1m=1month; 3m=3months; 1y=1year; 2y=2years; 3y=3years; 0=never)
Podemos especificar nuestro nick, un título, un periodo después del cual el archivo desaparecerá y un archivo.
Si no especificamos el nick, el título o el tiempo de expiración, se asignarán valores predeterminados. Y el archivo es opcional, ya que podemos poner la salida de un comando o escribir nosotros un texto. Si escribimos nosotros el texto deberemos terminar el comando con Ctrl+d
Vamos con unos ejemplos:
susepaste -n Victorhck -t repositorios -e 3m -f lista_repos.txt
Subimos el archivo lista_repos.txt indicando mi nick un título y que dure 3 meses en el servidor de susepaste. Otro:
zypper lr | susepaste -t repos -e 1h
Envía la salida del comando que muestra los repositorios (zypper lr) al script y este lo sube al servidor con un título y que dure 1 hora. Otro:
uname -a | susepaste
Envía la salida del comando al servicio susepaste. Y te devuelve la url y también la copia en el portapapeles.
susepaste-screenshot
Este script sirve para tomar una captura de pantalla y enviarla al servidor o para subir una captura que tengamos ya realizada.
¿Cómo utilizarlo?
Si ejecutamos susepaste-screenshot -h nos muestra una pequeña información de cómo usar este sencillo script.
susepaste-screenshot [--all] [-n nick] [-t title] [-e expire] [-d delay secs] [-f <file> or <path/to/file>]
(expire: 30m=30minutes; 1h=1hour; 6h=6hours; 12h=12hours; 1d=1day; 1w=1week; 1m=1month; 3m=3months; 1y=1year; 2y=2years; 3y=3years; 0=never)
Muy similar al anterior, pero se incluye la opción -d
para indicar unos segundos de retraso a la hora de realizar la captura, para poder cambiar de pantalla, escritorio, etc…
Vamos con unos ejemplos:
susepaste-screenshot -n Victorhck -t error -e 3m -f /home/mi_usuario/capturas/mi_captura.png
Establecemos un nick, un título un tiempo de 3 meses de duración en el servidor y la ruta al archivo donde está la captura.
susepaste-screenshot -e 1m -d 5
La imagen durará 1 mes en el servidor y esperará 5 segundos antes de tomar una captura y enviarla.
Bueno, tanto si usas openSUSE como si no, podrás usar el servicio susepaste o paste.opensuse.org que en definitiva son los mismos para alojar textos o imágenes.
Y si usas estos scripts te ahorrarán tiempo y quizás te hagan la vida más fácil. Si los usas y encuentras algo que no funciona, o que habría que mejorar usa los comentarios del blog para compartir tu aporte.
No quiere decir que lo vaya a hacer 🙂 dependerá del tiempo que tenga, de las ganas, pero sin duda tu aporte será leído y tenido muy en cuenta.
Enlaces de interés
- https://codeberg.org/victorhck/paste_scripts
- https://github.com/openSUSE/paste/tree/master/script
- https://susepaste.org/

Hola:
Muy bueno , pero tengo algo de dificultad , para leer los scripts en el monitor, fondo blanco con un gris , pero no importa, un copy paste a un fichero de texto y asunto arreglado .
Como siempre gracias por el articulo .
Saludos cordiales .
puedes clonar el repositorio en tu equipo y verlo con el editor que prefieras!
Saludos.