Cómo depurar scripts de Linux Bash con ShellCheck

¿Tiene problemas con un script Bash que escribió para su PC con Linux ? En lugar de mirar a través de innumerables subprocesos en StackExchange para obtener ayuda con la 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 viene con 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 correspondan a su sistema operativo Linux.

Ubuntu

ShellCheck se encuentra en las fuentes de software oficiales 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 los usuarios la instalen. Tenga en cuenta que esta versión está retenida debido a cómo Debian hace las cosas.

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

sudo apt-get install shellcheck

Arch Linux

Para obtener ShellCheck en Arch Linux, primero deberá 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 # (alrededor de tres líneas). Luego, guarde las ediciones presionando el botón Ctrl + O.

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 instalar 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 instalar ShellCheck

Linux genérico

Los usuarios de distribuciones de Linux menos conocidas que deseen acceder a la herramienta de análisis de secuencias de comandos ShellCheck deben instalar la versión binaria universal. Afortunadamente, esta versión binaria es fácil de instalar y no requiere retoques con el código fuente. Para que funcione, siga los pasos a continuación.

Paso 1:   exporta la versión de ShellCheck que estás a punto de descargar a tu entorno de terminal.

export scversion = " estable "  # o "v0.4.7", o "más reciente"

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

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

Paso 3: extraiga el archivo ShellCheck TarXZ con el  comando tar  .

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

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

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

Depurar scripts con ShellCheck

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

Primero, diríjase al CD donde se encuentra el script que desea verificar en su PC con Linux. En este tutorial, nuestro script está en ~ / shell-scripts . El tuyo puede diferir.

cd ~ / shell-scripts

Ejecute el comando ls y vea 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 son de script.

ls

O combínelo con grep para ver solo archivos de secuencia de comandos.

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

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

Cómo depurar scripts de Linux Bash con ShellCheck

shellcheck name-of-file.sh

o

shellcheck nombre-de-archivo.bash

Cómo depurar scripts de Linux Bash con ShellCheck

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

Guarde el informe ShellCheck en un archivo

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

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

o

shellcheck nombre-del-archivo.bash >> ~ / Documentos / shellcheck-informe-nombre-del-archivo.bash

Vea su informe guardado en la terminal a través del comando cat .

Cómo depurar scripts de Linux Bash con ShellCheck

cat ~ / Documents / shellcheck-report-name-of-file.sh | más

o

cat ~ / Documentos / shellcheck-informe-nombre-del-archivo.bash | más

Dejar un comentario

Cómo solucionar el problema de los controladores NVIDIA que no se cargan después de una actualización del kernel en Ubuntu.

Cómo solucionar el problema de los controladores NVIDIA que no se cargan después de una actualización del kernel en Ubuntu.

Solucione los problemas de carga de los controladores NVIDIA tras una actualización del kernel de Ubuntu comprobando los módulos del kernel, el arranque seguro, DKMS, los encabezados, Nouveau y las discrepancias de versión.

Cómo instalar Pardus 23 en hardware antiguo: Paso a paso

Cómo instalar Pardus 23 en hardware antiguo: Paso a paso

Instale Pardus 23.4 XFCE en PC de 64 bits más antiguas con BIOS heredada, una unidad USB de arranque, particionamiento seguro y comprobaciones posteriores a la instalación para hardware de bajas especificaciones.

Explicación del modelo de seguridad del sistema operativo Gooroom: arranque seguro, protección del sistema operativo y aislamiento del navegador.

Explicación del modelo de seguridad del sistema operativo Gooroom: arranque seguro, protección del sistema operativo y aislamiento del navegador.

Aprende cómo Gooroom OS implementa capas de arranque seguro, protección de ejecutables y del sistema operativo, y controles del navegador, y qué deben verificar los usuarios sobre el entorno aislado (sandboxing).

Ejecutar Debian 12 en un VPS con poca RAM sin fallos por falta de memoria que provoquen la caída de MySQL.

Ejecutar Debian 12 en un VPS con poca RAM sin fallos por falta de memoria que provoquen la caída de MySQL.

Diagnostica la presión de memoria en Debian 12, ajusta el tamaño de MariaDB o MySQL, agrega espacio de intercambio con cuidado y verifica si tu VPS puede manejar su carga de trabajo.

Cómo configurar conexiones VPN en Pardus Linux Desktop

Cómo configurar conexiones VPN en Pardus Linux Desktop

Configure conexiones VPN OpenVPN, WireGuard, OpenConnect o IPsec en el equipo de escritorio Pardus 25 y, a continuación, verifique el enrutamiento, el DNS y el estado del túnel.

SLES 15 vs. RHEL 9: Comparativa del rendimiento de servidores empresariales

SLES 15 vs. RHEL 9: Comparativa del rendimiento de servidores empresariales

Compare el rendimiento de SLES 15 y RHEL 9, los flujos del kernel, los perfiles TuneD, las variables de carga de trabajo y cómo evaluar el rendimiento de ambos sistemas de manera justa.

Solucionar un problema de SUSE Linux Server que se bloquea al reiniciarse tras el apagado de systemd.

Solucionar un problema de SUSE Linux Server que se bloquea al reiniciarse tras el apagado de systemd.

Aprenda a diagnosticar y solucionar problemas en un servidor SUSE Linux que se bloquea durante el apagado de systemd, encontrando tareas atascadas, revisando el arranque anterior y corrigiendo el servicio o punto de montaje que lo bloquea.

Cómo personalizar el panel XFCE en Pardus Linux para usuarios de Windows

Cómo personalizar el panel XFCE en Pardus Linux para usuarios de Windows

Personaliza Pardus XFCE con una barra de tareas inferior, menú de aplicaciones, accesos directos a tus aplicaciones favoritas, botones para abrir ventanas, bandeja del sistema y reloj. Aprende qué modificar y cómo probar la distribución.

Cómo configurar actualizaciones automatizadas de Debian sin interfaz gráfica con Unattended-Upgrades

Cómo configurar actualizaciones automatizadas de Debian sin interfaz gráfica con Unattended-Upgrades

Configure las actualizaciones automáticas en un servidor Debian sin interfaz gráfica, verifique los temporizadores de systemd, realice pruebas de forma segura, controle los reinicios y supervise las actualizaciones de seguridad automáticas.

Solucionar el problema de conexión de la consola web Cockpit en SUSE Linux Enterprise Server.

Solucionar el problema de conexión de la consola web Cockpit en SUSE Linux Enterprise Server.

Solucione los problemas de Cockpit en SUSE Linux Enterprise Server comprobando la URL HTTPS, el socket systemd, los paquetes instalados, la zona firewalld, los certificados y los registros.