- - Cómo depurar scripts de Linux Bash con ShellCheck

Cómo depurar scripts de Linux Bash con ShellCheck

¿Tienes problemas con un script de Bash queescribiste para tu PC con Linux? En lugar de buscar innumerables hilos en StackExchange para obtener ayuda de programación, considere usar la herramienta ShellCheck para depurar scripts de Linux Bash y encontrar automáticamente errores en su código.

Obtenga ShellCheck

ShellCheck es una herramienta útil, pero no vienecon su sistema operativo Linux listo para usar. En cambio, si desea usarlo, primero tendrá que instalarlo. En este tutorial, cubriremos cómo instalar ShellCheck desde varias fuentes de software oficiales. Además, también le mostraremos cómo hacer que el programa funcione a través del binario genérico de Linux.

Abra una ventana de terminal y actualice sus paquetes. Luego, siga las instrucciones que corresponden a su sistema operativo Linux.

Ubuntu

ShellCheck está en las fuentes oficiales de software de Ubuntu, por lo que instalarlo es bastante fácil. En una terminal, use el administrador de paquetes Apt y obtenga la última versión de ShellCheck funcionando.

sudo apt install shellcheck

Debian

Debian Stable tiene una versión anterior de ShellCheck lista para que la instalen los usuarios. Tenga en cuenta que esta versión se retrasa debido a cómo Debian hace las cosas.

Nota: ¿desea una versión más nueva del programa ShellCheck? Siga nuestra guía y aprenda cómo obtener un software más moderno en Debian.

sudo apt-get install shellcheck

Arch Linux

Para obtener ShellCheck en Arch Linux, primero debesnecesita habilitar el repositorio de software "Comunidad". Habilitar "Comunidad" requiere editar el archivo Pacman.conf. Para editar el archivo, abra Pacman.conf en Nano.

sudo nano /etc/pacman.conf

Desplácese (con las teclas de flecha) y busque la sección "Comunidad" del archivo. Elimine todas las instancias del símbolo # (aproximadamente tres líneas). Luego, guarde las ediciones presionando el Ctrl + O botón.

Con las nuevas ediciones de Pacman.conf resueltas, presione Ctrl + X para cerrar Nano. Luego, vuelva a sincronizar Pacman para configurar el acceso al repositorio de la "Comunidad" de Arch Linux.

sudo pacman -Syyuu

Finalmente, instale ShellCheck en Arch Linux con:

sudo pacman -S shellcheck

Fedora

Para obtener la herramienta de análisis de script ShellCheck en Fedora Linux, abra una terminal y use la herramienta de administración de paquetes DNF.

sudo dnf install ShellCheck

OpenSUSE

La instalación de ShellCheck en OpenSUSE no requiere pasos especiales, ya que se encuentra en las principales fuentes de software de la distribución. Para obtenerlo, ingrese el siguiente comando del paquete Zypper en una ventana de terminal.

sudo zypper install ShellCheck

Linux genérico

Usuarios de distribuciones de Linux menos conocidas quedesea acceder a la herramienta de análisis de script ShellCheck debe instalar la versión binaria universal. Afortunadamente, esta versión binaria es fácil de instalar y no requiere modificaciones con el código fuente. Para que funcione, siga los pasos a continuación.

Paso 1: exporte la versión de ShellCheck que está a punto de descargar a su entorno de terminal.

export scversion="stable" # or "v0.4.7", or "latest"

Paso 2: utilizando la wget herramienta de descarga, obtenga la última versión binaria de ShellCheck.

wget "https://storage.googleapis.com/shellcheck/shellcheck-${scversion}.linux.x86_64.tar.xz"

Paso 3: extraer el archivo ShellCheck TarXZ con el alquitrán mando.

tar --xz -xvf shellcheck-"${scversion}".linux.x86_64.tar.xz

Paso 4: instale ShellCheck en su PC con Linux con el cp mando.

cp shellcheck-"${scversion}"/shellcheck /usr/bin/

Scripts de depuración con ShellCheck

El propósito principal de ShellCheck es revisar un script (generalmente Bash), detectar comandos mal utilizados y ofrecer correcciones. Para uso básico, haga lo siguiente.

Primero, discos compactos a dónde está el script que desea verificar en su PC con Linux. En este tutorial, nuestro script está en ~ / scripts de shell. El tuyo puede diferir.

cd ~/shell-scripts

Ejecutar el ls comando y ver todos los archivos en el directorio actual.

Nota: si tiene la intención de utilizar ShellCheck en un directorio con varios tipos de archivos, es una buena idea combinar grep y ls juntos. El uso de estos dos comandos juntos le permite filtrar todos los archivos que no sean de script.

ls

O combinar con grep para ver solo archivos de script.

ls | grep ".sh"
ls | grep ".bash"

Encuentre el nombre de un archivo de script en el ls solicite y resalte el nombre del archivo con el mouse. Cuando esté listo, ejecútelo a través de ShellCheck y verifique su código.

shellcheck name-of-file.sh

o

shellcheck name-of-file.bash

Inmediatamente después del shellcheck se ejecuta el comando, detectará problemas con su código y lo colocará en el indicador del terminal. Lea y aprenda cómo mejorar su programación siguiendo las sugerencias que le brinda.

Guardar el informe ShellCheck en un archivo

Obtener un informe instantáneo en la terminal parasu programación bash es súper útil, sin embargo, puede perderla si cierra el terminal. Para evitar perder su informe de shellcheck, recomendamos guardar la salida en un archivo de texto, ejecutando el programa en combinación con >> característica en la terminal.

shellcheck name-of-file.sh >> ~/Documents/shellcheck-report-name-of-file.sh

o

shellcheck name-of-file.bash >> ~/Documents/shellcheck-report-name-of-file.bash

Vea su informe guardado en la terminal a través de gato mando.

cat ~/Documents/shellcheck-report-name-of-file.sh | more

o

cat ~/Documents/shellcheck-report-name-of-file.bash | more
</p>

Comentarios