ShellCheck, una utilidad para comprobar tus scripts de Shell
Como todos sabemos, la terminal es una parte inseparable del sistema Linux y detrás de todo lo que hacemos en el terminal, está el shell, un programa que interactúa con el propio sistema operativo. Cada comando que ingresamos en el terminal es interpretado en última instancia por el shell y luego actúa en consecuencia.
Un shell UNIX no es solo un intérprete de comandos, si no que también sirve como lenguaje de programación. Shell como lenguaje de programación proporciona variables, construcciones de control de flujo, presupuestos y funciones.
Un archivo que contiene comandos y códigos de shell se llama Shell Script. Por lo tanto, puede realizar varias tareas complejas y automatización para su sistema usando scripts de shell.
Muchos de los que están aprendiendo programación en bash e incluso varios que son desarrolladores de este, suelen realizar algunas pruebas de códigos o ejemplos que llegan a encontrar en la red.
Aunque esto suele ser algo peligroso, para aquellos experimentados o que tienen conocimientos sobre bash y/o Linux no suelen caer en bromas o scripts que pueden destruir el sistema o robar información.
De todos modos, como somos humanos, cometemos errores. Obviamente, al escribir scripts de shell también se cometen errores, como errores sintácticos, errores tipográficos, patrones incorrectos, etc.
Pero para el lado de los novatos (generalmente estudiantes o curiosos) esto no es tan sencillo, es por ello que pueden hacer uso de una gran utilidad que nos puede ayudar con el análisis de esos códigos.
Sobre ShellCheck
ShellCheck es una herramienta de análisis estático que muestra advertencias y sugerencias sobre códigos incorrectos en los scripts de shell de bash / sh.
Se puede usar de varias maneras: desde la web pegando su script de shell en un editor en línea o alternativamente, puede ser instalarlo en su sistema y ejecutarlo desde el terminal, integrarlo con su editor de texto, así como en su compilación o suites de prueba.
Hay tres cosas que ShellCheck hace principalmente:
- Señala y explica los problemas típicos de sintaxis de los principiantes que hacen que un shell dé mensajes de error crípticos.
- Señala y explica los problemas semánticos típicos de nivel intermedio que hacen que una shell se comporte de forma extraña.
- También señala advertencias sutiles, que pueden hacer que un script avanzado que de otra manera funcione, falle en circunstancias futuras.
¿Cómo instalar ShellCheck en Linux?
Si estas interesado en poder obtener esta gran utilidad, solo deberás abrir una terminal en tu sistema y teclear alguno de los siguientes comandos, acorde a tu distribución de Linux que estés utilizando.
Usuarios de Debian, Ubuntu y cualquier otra distribución derivada de estas, solo deben teclear en la terminal el siguiente comando:
sudo apt-get install shellcheck
Si son usuarios de RHEL, CentOS, Fedora o cualquier distribución derivada de estas, pueden realizar la instalación con:
sudo dnf instalar shellcheck
Para usuarios de Arch Linux, Antergos, Manjaro y derivados de Arch Linux, instalan la utilidad con:
sudo pacman -S shellcheck
Mientras que para los que son usuarios de openSUSE la instalación la realizan con:
sudo zypper in shellcheck
Si usan el editor de texto Atom, también puede usar ShellCheck dentro de la ventana de su editor sobre la marcha. Solo tienen que instalar los paquetes atom necesarios para ShellCheck:
apm install linter linter-shellcheck
ShellCheck también admite otros editores, como: Vim, Emacs, Sublime, etc. Pueden encontrar una lista completa en el siguiente enlace.
Uso básico de ShellCheck
Después de instalar los paquetes necesarios para ShellCheck en su sistema, pueden usarlos desde su terminal, tan solo deben escribir el siguiente comando:
shellcheck /ruta/a/archivo
Donde solo tienen que colocar la ruta con el nombre de archivo de su script de shell.
Usando ShellCheck en línea
También, puede usar ShellCheck en línea sin instalar nada en su sistema, por lo que solo deben hacer uso de su navegador web preferido y en el deberán dirigirse al siguiente enlace.
Aquí solo tienen que copiar los códigos de su shell script y se lees mostrará la salida de ShellCheck.
El artículo ShellCheck, una utilidad para comprobar tus scripts de Shell aparece primero en ShellCheck, una utilidad para comprobar tus scripts de Shell.