Comando Bash «establecer -x».

basch colocar El comando se usa para muchos propósitos en Bash y ofrece muchas opciones para habilitar o deshabilitar diferentes tipos de características del entorno de shell. Ese -X La opción es una de las opciones del comando set que se utiliza para habilitar la función de depuración del script bash para la resolución de problemas. el `conjunto -x` El comando se puede usar desde la terminal o en cualquier script bash. Varios propósitos para usar el `conjunto -xEl comando ` se describió en este tutorial.

Contenidos

Habilitar depuración

Si la secuencia de comandos no muestra el resultado correcto o muestra un resultado inesperado, la depuración puede resolver este problema. La función de depuración se puede habilitar en bash script de varias maneras que se mencionan a continuación.

  • La función de depuración se puede activar con el comando «set -x» en la terminal o dentro del script bash con el comando «set -x». El uso del comando `set -x` se mostró en la siguiente parte del tutorial.
  • La función de depuración también se puede habilitar usando la opción -x al momento de ejecutar el archivo bash como el siguiente comando:
  • La función de depuración también se puede habilitar usando la siguiente línea al comienzo del script:

Deshabilitar la depuración

Después de resolver el problema, la función de depuración del script bash debe desactivarse. El comando set +x se usa para deshabilitar la función de depuración.

Varios ejemplos del comando `set -x`

Se han mostrado dos usos diferentes de la opción `set -x` con ejemplos.

Ejemplo-1: habilitar y deshabilitar la función de depuración

Cree un archivo bash usando la siguiente secuencia de comandos, que recibe información del usuario antes y después de usar los comandos set -x y set +x. El valor del primer nombre se toma y se imprime antes de usar el comando set -x. El valor del apellido se toma y se imprime después de usar el comando «set -x». A continuación, los valores de nombre y apellido se imprimen después de usar el comando «set +x». #!/bin/bash#Aceptar entrada y printread -p «Ingrese su nombre: » firstnameecho «Su nombre es $firstname»#Activate command set -x -x#Tome otra entrada e printread -p » Escriba su apellido nombre: » apellidoecho «su apellido es $apellido»#deshabilitar establecer x comando establecer +x#imprimir variables echo «su nombre completo es $nombre $apellido»
Producción:
El siguiente resultado se imprimirá después de ejecutar el script anterior. Según el resultado, cada declaración del script se emitió después de ejecutar el comando «set -x».

Ejemplo-2: Depuración de script usando el comando «set -x».

Cree un archivo bash con la siguiente secuencia de comandos que toma un nombre de archivo del usuario para leer al habilitar la función de depuración. El comando «set -x» se usó al comienzo del script para habilitar la función de depuración. A continuación, se toma un nombre de archivo del usuario. Si el usuario no especifica ningún nombre de archivo, se imprimirá un mensaje. Si el nombre de archivo heredado del usuario no existe o no es un archivo, se muestra otro mensaje de error. Si el usuario acepta el nombre de archivo válido, se imprimirá el contenido del archivo. #!/bin/bash#Habilitar el conjunto de depuración -x#Tomar el nombre de archivo del usuario echo -n «Ingrese un nombre de archivo:» leer fn#Verificar si el nombre de archivo está vacío o notif [ «$fn» == «» ];thenecho «Falta el nombre del archivo».#Compruebe si el archivo existe o anote si [ ! -f «$fn» ];entonces#Imprimir mensaje de errorecho «$fn no existe».else#Imprimir contenido del archivocat «$fn»fi
Producción:
El siguiente resultado se muestra después de ejecutar el script anterior sin especificar un nombre de archivo. El resultado muestra que el valor vacío se utilizó como nombre de archivo. La condición «si» para verificar un nombre de archivo vacío devolvió verdadero para la entrada vacía. Por lo tanto, la declaración «echo» para imprimir el mensaje de error para la opción de depuración y el mensaje de error «Falta el nombre del archivo» fue presionado.

El siguiente resultado se muestra después de ejecutar el script anterior con un nombre de archivo. El resultado muestra que la condición «si» para verificar un nombre de archivo vacío se devolvió incorrectamente, y la condición «si» para verificar un archivo inexistente también se devolvió incorrectamente. el nombre del archivo de entrada, archivo de prueba.txt disponible en la ubicación actual. Entonces el `Gato` Comando para leer el archivo de prueba.txt Se ejecutó el archivo y se imprimió el contenido del archivo.

El siguiente resultado se muestra después de ejecutar el script anterior con un nombre de archivo. El resultado muestra que la condición «si» para verificar un nombre de archivo vacío se devolvió como falso y la condición «si» para verificar un archivo inexistente se devolvió como verdadero porque el Archivo1.txt no existe en la ubicación actual. Entonces el `Gato` El comando para leer el archivo no se ejecutó y el mensaje de error «archivo1.txt no existe.» fue presionado.

Conclusión

La tarea de depuración es una parte muy importante de cada lenguaje de programación para descubrir fácilmente el error del código. La tarea de depuración se realiza de diferentes maneras para diferentes lenguajes de programación. Este tutorial ha descrito varias formas de habilitar la función de depuración para el script bash y usar el comando «set -x» para depurar el script bash.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.