Shellcheck una herramienta que muestra advertencias y sugerencias para scripts de shell

Shellcheck una herramienta que muestra advertencias y sugerencias para scripts de shell

Chellera es una herramienta de análisis estático que muestra advertencias y sugerencias sobre el código malo en los scripts de shell bash/sh. Se puede usar de varias maneras: desde la web pegando su script de shell en un editor en línea (ACE - un editor de código independiente escrito en JavaScript) en https: // www.chellera.NET (siempre está sincronizado con la última confirmación de GIT, y es la forma más sencilla de darle un go a Shellcheck) para recibir comentarios instantáneos.

Alternativamente, puede instalarlo en su máquina y ejecutarla desde el terminal, integrarlo con su editor de texto, así como en sus suites de compilación o prueba.

Hay tres cosas que Shellcheck hace principalmente:

  • Señala y explica problemas de sintaxis para principiantes típicos que hacen que un shell dé mensajes de error crípticos.
  • Señala y explica problemas semánticos de nivel intermedio típicos que hacen que un caparazón se comporte de manera extraña y contraintuitiva.
  • También señala advertencias sutiles, casos de esquina y dificultades que pueden hacer que el script de trabajo de un usuario avanzado falle en futuras circunstancias.

En este artículo, mostraremos cómo instalar y usar shellcheck de diversas maneras para encontrar errores o código malo en sus scripts de shell en Linux.

Cómo instalar y usar shellcheck en Linux

Chellera se puede instalar fácilmente localmente a través de su administrador de paquetes como se muestra.

En Debian/Ubuntu

# apt-get install shellcheck 

En rhel/centos

# yum -y instalación Epel -libease # yum instalación shellcheck 

En Fedora

# DNF Instalar shellcheck 

Una vez instalado Shellcheck, echemos un vistazo a cómo usar shellcheck en los diversos métodos que mencionamos antes.

Uso de shellcheck desde la web

Ir a https: // www.chellera.red y pegar su script en el editor ACE proporcionado, verá la salida en la parte inferior del editor como se muestra en la captura de pantalla a continuación.

En el siguiente ejemplo, el script de shell de prueba consta de las siguientes líneas:

#!/bin/bash #Declare Variables Minargs = 2 E_NOTROOT = 50 E_Minargs = 100 #Co Valores de variables echo $ minargs echo $ e_nonroot exit 0; 
Shellcheck - Herramienta de análisis de scripts de shell en línea

De la captura de pantalla anterior, las dos primeras variables Notroot y E_minargs han sido declarados pero no están utilizados, Shellcheck informa estos como "errores sugerentes":

SC2034: e_notroot parece sin usar. Verificarlo o exportarlo. SC2034: E_Minargs parece sin usar. Verificarlo o exportarlo. 

Luego, en segundo lugar, el nombre incorrecto (en la declaración echo $ e_nonroot) estaba acostumbrado a Echo variable e_notroot, Es por eso que Shellcheck muestra el error:

SC2153: Posible mal ortográfico: E_NONROOT no puede ser asignado, pero E_NOTROOT es 

Nuevamente, cuando mira los comandos de eco, las variables no se han citado doble (ayuda a evitar el globo y la división de palabras), por lo tanto, la verificación de shell muestra la advertencia:

SC2086: cotización doble para evitar el globo y la división de palabras. 

Usar shellcheck desde la terminal

También puede ejecutar shellcheck desde la línea de comandos, usaremos el mismo script de shell arriba de la siguiente manera:

$ shellcheck prueba.mierda 
Shellcheck: verifica el código malo en los scripts de shell

Usar shellcheck del editor de texto

También puedes ver Chellera Sugerencias y advertencias directamente en una variedad de editores, esta es probablemente una forma más eficiente de usar shellcheck, una vez que guarda un archivo, le muestra cualquier error en el código.

En Empuje, use cerveza o sintastic (usaremos esto):

Comience por instalar Patógeno para que sea fácil instalar Syntastic. Ejecute los comandos a continuación para obtener el patógeno.empuje archivo y los directorios que necesita:

# mkdir -p ~/.vim/autoload ~/.vim/bundle && curl -lsso ~/.vim/autoload/patógeno.vim https: // tpo.PE/patógeno.empuje 

Luego agregue esto a su ~/.vimrc archivo:

Ejecutar Pathogen#infect () 

Una vez que haya instalado patógenos, y ahora puede poner sintastic en ~/.vim/paquete como sigue:

# CD ~/.Vim/Bundle && Git Clone - -Depth = 1 https: // github.com/vim-syntastic/sintastic.git 

A continuación, cierre Vim y comience a volver a cargarlo, luego escriba el comando a continuación:

: Helptags 

Si todo va bien, deberías tener Chellera integrado con Empuje, Las siguientes capturas de pantalla muestran cómo funciona usando el mismo script anterior.

Verifique el código de script de Bad Shell en VIM

En caso de que reciba un error después de seguir los pasos anteriores, posiblemente no haya instalado Patógeno correctamente. Rehacer los pasos, pero esto asegura que haya hecho lo siguiente:

  • Creó ambos ~/.vim/autoload y ~/.vim/paquete directorios.
  • Se agregó la línea Ejecutar Pathogen#infect () a su ~/.vimrc archivo.
  • ¿El clon Git de Syntastic Inside? ~/.vim/paquete.
  • Use los permisos apropiados para acceder a todos los directorios anteriores.

También puede usar otros editores para verificar el código malo en scripts de shell como:

  • En Emacs, usar Chicha.
  • En sublime, emplee sublimelinter.
  • En Atom, utilice un Linter.
  • En la mayoría de los otros editores, use la compatibilidad de errores de GCC.

Nota: Use la galería de código malo para llevar a cabo más shshecking.

Repositorio de github de shellcheck: https: // github.com/koalaman/shellcheck

Eso es todo! En este artículo, mostramos cómo instalar y usar Chellera Para encontrar errores o código malo en sus scripts de shell en Linux. Comparta sus pensamientos con nosotros a través de la sección de comentarios a continuación.

¿Sabes de alguna otra herramienta similar por ahí?? Si es así, comparta información sobre ellos en los comentarios también.