Cómo usar la opción bash set -x

Cómo usar la opción bash set -x

El comando establecer de Linux se usa para establecer y no se establece opciones específicas. Estas opciones administran el comportamiento de un script dado y habilitan la ejecución de la tarea sin error. En este artículo, utilizamos la opción "X" con el comando establecer que informa al bash a mostrar las declaraciones a medida que se procesan. Es inmensamente útil para la depuración cuando necesitamos determinar qué líneas se ejecutaron y en qué secuencia. La operación set -x se puede emplear directamente en un shell de fiesta abierta o dentro de un script bash. En los siguientes ejemplos, usamos el comando set con la opción "x" para habilitar y deshabilitar las diversas funcionalidades.

Ejemplo 1: programa usando el set -x en un script bash

Aquí creamos el "Bash1.archivo sh ”y proporcionar el script para usar la opción set -x. Usamos el comando "set -x" para habilitar la depuración porque el script bash no habilita la depuración por defecto. Primero insertamos el comando de banda sh en nuestro script. Después de eso, usamos el modificador "SET" con su indicador "-x" para activar la depuración. Luego, declaramos el comando "echo" que proporciona la declaración "mi primera declaración". Igual que esta declaración de eco, definimos otra declaración de "mi segunda declaración" usando el modificador "Echo". A continuación, ejecutamos el script bash abriendo el terminal para mostrar los resultados de habilitar la depuración del comando set -x.

#!/bin/bash
establecer -x
Echo "Mi primera declaración"
echo "mi segunda declaración"

En la terminal, invocamos la palabra clave "bash" para la compilación del "bash1.archivo sh ". Después de eso, ejecutamos el archivo dado que imprime el comando ECHO con el símbolo "+" junto con la declaración resultante de los comandos ECHO.

Ejemplo 2: programa usando el set -x en un modo deshabilitado en un script bash

En el ejemplo reciente, demostramos la forma de habilitar la depuración utilizando el comando "set -x". Ahora, proporcionamos una forma de deshabilitar la depuración en el script bash usando el comando "establecer" pero con la opción "x" en un formato diferente. Aquí, construimos el script en un "Bash2.mierda. Primero, usamos el comando "set -x" que permite la depuración de Bash. Luego, establecemos el comando "echo" para imprimir la declaración "Declaración de impresión1". Después de esto, implementamos el comando "set +x" para deshabilitar la depuración del script bash. La diferencia en habilitar y deshabilitar la depuración es que usamos la opción "X" con el símbolo negativo "-" para activar la depuración. La "x" con el símbolo positivo "+" indica deshabilitar la depuración de bash.

#!/bin/bash
establecer -x
echo "Declaración de impresión1"
establecer +x
echo "Declaración de impresión2"

El script de bash anterior se ejecuta en el terminal utilizando el "bash ./Bash2.comando sh ". El resultado de este script imprime el comando "echo" con la salida de ese comando echo porque la depuración está habilitada. Luego, el comando "set +x" se imprime donde deshabilitamos la depuración. El modo de desactivación de depuración del bash simplemente imprime la salida del comando echo como se ve en la siguiente imagen:

Ejemplo 3: programa usando el set -x en el comando de línea shebang en un script bash

Tenemos otra forma de habilitar la depuración en Bash incluyendo la bandera "-x" en la línea Shebang. Aquí, creamos el script dentro del "Bash3.mierda. Comenzamos definiendo el "#!/bin/bash -x "comando shebang donde también se declara la opción" -x "para habilitar la depuración del script bash dado. Luego, creamos el atributo "MyName" al que asignamos un valor "Linux". El atributo se establece más con el comando echo para imprimir su valor. Después de esto, deshabilitamos la depuración con la declaración "set +x". Declaramos el atributo "mysalary" e inicializamos con el valor "7000" para la depuración. La palabra clave "echo" se llama sobre el atributo "mysalary" para obtener el valor. A continuación, definimos un caso nuevamente para activar la depuración en el script bash. Para esto, definimos el comando "set +x". Después de eso, establecemos el atributo "myLanguage" nuevamente con el valor "inglés" para examinar el modo habilitado de depuración.

#!/bin/bash -x
Myname = Linux
echo $ myname
establecer +x
Mysalary = 7000
Echo $ mysalary
establecer -x
MyLanguage = inglés
Echo $ myLanguage

Cuando el "Bash3.SH "se ejecuta en el terminal, primero imprime la expresión" myname = linux "y la instrucción ECHO con su valor resultante. El valor "7000" es el valor resultante de la expresión de eco donde la depuración no se activa. El siguiente es también la expresión impresa "myLanguage = inglés" y la expresión de eco con el valor de salida "inglés" a medida que el modo de depuración está habilitado.

Ejemplo 4: programa usando el set -x en un script bash para la expresión condicional

Ahora, usamos el comando "set -x" para depurar la declaración condicional que ejecuta el resultado, así como imprime cada paso de la salida del script bash para una mejor comprensión del script. Aquí, generamos el script bash en el "bash4.archivo sh ". El primer paso del script es declarar el comando "set -x". Al usar el comando "set -x", habilitamos el modo de depuración de nuestro script bash. Luego, creamos el atributo "Y" y especificamos un valor numérico de "50". Después de eso, implementamos el bucle while donde se da la condición como "$ y -gt 0". La declaración "hacer y hacer" tiene la operación para satisfacer la condición mientras. El comando "echo" se asigna con una variable "$ y" que imprime el valor de disminución cada vez hasta que se termina el bucle mientras se termina.

establecer -x
y = 50
mientras que [$ y -gt 0]; hacer
y = $ [$ y-10]
Echo $ y
dormir 1
hecho

La salida se muestra con cada paso del script donde se actualizan los valores condicionales.

Conclusión

El uso del comando "set -x" en bash es un proceso de depuración que soluciona el código al reconocer los errores en el script. El "set -x" viene en ayuda cuando es un desafío para los usuarios desarrollar un script sin errores, especialmente cuando comprende una gran cantidad de líneas. Proporcionamos los scripts bash utilizando los comandos "set -x" y "set +x" para la demostración. Además, también podemos usar la opción "X" en la terminal como "Bash -x ./Nombre del archivo.sh "si no queremos usar el comando" set -x "en el script. Logramos el mismo resultado haciendo esto.