10 consejos útiles para escribir scripts Bash efectivos en Linux

10 consejos útiles para escribir scripts Bash efectivos en Linux

La secuencia de comandos de shell es la forma más sencilla de programación que puede aprender/hacer en Linux. Más aún, es una habilidad requerida para la administración del sistema para automatizar tareas, desarrollar nuevas utilidades/herramientas simples solo por mencionar algunas.

En este artículo, compartiremos 10 consejos útiles y prácticos para escribir de manera efectiva y scripts bash confiables e incluyen:

1. Utilice siempre comentarios en los scripts

Esta es una práctica recomendada que no solo se aplica a los scripts de shell sino a todos los demás tipos de programación. Escribir comentarios en una secuencia de comandos le ayuda a usted oa otra persona que esté revisando su secuencia de comandos a comprender lo que hacen las diferentes partes de la secuencia de comandos.

Para empezar, los comentarios se definen usando el signo #.

#TecMint es la el mejor sitio para todo tipo de artículos sobre Linux

2. Hacer que una secuencia de comandos salga cuando falla

A veces, bash puede continuar ejecutando una secuencia de comandos incluso cuando un comando determinado falla, lo que afecta al resto de la secuencia de comandos (eventualmente puede resultar en errores lógicos). Utilice la línea siguiente para salir de un script cuando un comando falla:

#let script salga si un comando falla set-o errexit O set-e

3. Hacer una salida de secuencia de comandos cuando Bash usa una variable no declarada

freestar.config.enabled_slots.push

Bash también puede intentar usar una secuencia de comandos no declarada que podría provocar un error lógico. Por lo tanto, use la siguiente línea para indicarle a bash que salga de un script cuando intente usar una variable no declarada:

# deje que el script salga si se usa una variable sin usar set-o nounset O set-u

4. Utilice comillas dobles para hacer referencia a variables

El uso de comillas dobles al hacer referencia (utilizando un valor de una variable) ayuda a evitar la división de palabras (con respecto a los espacios en blanco) y el engrosamiento innecesario (reconocimiento y expansión de comodines).

Mira el ejemplo a continuación:

#!/bin/bash #let salida del script si falla un comando set-o errexit #let salida del script si se usa una variable sin usar set-o conjunto de nombres echo “Nombres sin comillas dobles “echo names =” Tecmint FOSSMint Linusay “para el nombre en $ nombres; do echo “$ nombre” hecho echo echo “Nombres con comillas dobles” echo para el nombre en “$ nombres”; haga echo “$ name” hecho salir 0

Guarde el archivo y salga, luego ejecútelo de la siguiente manera:

$ ./names.sh  Usar comillas dobles en los scripts  Utilice comillas dobles en los scripts Utilice comillas dobles en los scripts

5. Utilice funciones en Scripts

A excepción de scripts muy pequeños (con unas pocas líneas de código), recuerde siempre utilizar funciones para modularizar su código y hacer que los scripts sean más legibles y reutilizables.

El la sintaxis para escribir funciones es la siguiente:

function check_root () command1; command2; O check_root () comando1; command2;

Para el código de una sola línea, use caracteres de terminación después de cada comando como este:

check_root () command1; command2;

6. Use = en lugar de == para las comparaciones de cadenas

Tenga en cuenta que == es un sinónimo de =, por lo tanto, use solo un único = para las comparaciones de cadenas, por ejemplo:

value1 = ”tecmint.com” valor2 = ”fossmint.com” si [“$ valor1” = “$ valor2”]

7. Utilice $ (comando) en lugar del “comando” heredado para la sustitución

La sustitución de comandos reemplaza un comando con su salida. Utilice $ (comando) en lugar de comillas inversas `command` para la sustitución de comandos.

Esto es recomendado incluso por la herramienta shellcheck (muestra advertencias y sugerencias para scripts de shell). Por ejemplo:

user = `echo“ $ UID ”` user = $ (echo “$ UID”)

8. Utilice solo lectura para declarar variables estáticas

Una variable estática no cambia; su valor no se puede modificar una vez que se define en un script:

readonly passwd_file = “/etc/passwd” readonly group_file = “/etc/group”

9. Use mayúsculas para las variables de ENVIRONMENT y minúsculas para las variables personalizadas

Todas las variables de bash se nombran con letras mayúsculas, por lo tanto, use letras minúsculas para nombrar sus variables personalizadas para evitar conflictos de nombres de variables:

#define custom variables usando minúsculas y mayúsculas para las variables env nikto_file = ”$ HOME/Downloads/nikto-master/program/nikto.pl” perl “$ nikto_file”-h “$ 1”

10. Realice siempre la depuración para scripts largos

Si está escribiendo scripts bash con miles de líneas de código, encontrar errores puede convertirse en una pesadilla. Para solucionar fácilmente las cosas antes de ejecutar un script, realice algunas depuraciones. Domine este consejo leyendo las guías que se proporcionan a continuación:

  1. Cómo habilitar el modo de depuración de scripts de shell en Linux
  2. Cómo realizar la verificación de sintaxis en el modo de depuración en scripts de shell
  3. Cómo rastrear la ejecución de comandos en Script de Shell con rastreo de Shell

¡Eso es todo! ¿Tiene otras mejores prácticas de scripting de bash para compartir? En caso afirmativo, utilice el formulario de comentarios a continuación para hacerlo.