Cómo depurar un script de shell?
- 1232
- 371
- Mateo Pantoja
La depuración es el proceso de encontrar y resolver errores dentro de un programa de computadora. Proporciona una gran salida en el tiempo de ejecución para analizar cada parte de la ejecución. Que ayuda a identificar la causa raíz de cualquier error en el script. En este tutorial, aprenderá a depurar un script de shell en la línea de comandos de Linux.
Podemos depurar un script de shell de dos maneras. Agregue la instrucción de depuración en el script de shell usando "Establecer -xv" o usar -xv en línea de comando mientras ejecuta script.
Agregar instrucciones de depuración en shell script
Creemos un pequeño script para probar el proceso de depuración. Cree un nuevo archivo y edite en el editor de texto:
nano checkdebug.mierda
Agregue el siguiente contenido al archivo:
#!/bin/bash set -xv # esto habilitará la depuración CD/var/log/para i en "*.log "; do du -sh $ lo hice1234567 | #!/bin/bash set -xv # esto habilitará debugcd/var/log/para i en "*.log "; do du -sh $ idone |
Guardar cambios y cerrar el archivo.
A continuación, establezca los permisos de ejecución en el archivo y luego ejecútelo.
chmod +x checkdebug.mierda
./checkdebug.mierda
[Salida de muestra]
CD/VAR/LOG/ + CD/VAR/LOG/FOR I IN "*.log "; do du -sh $ i hice + para i in '"*.log "' + du -sh boot.registrar mysqld.Registro post111.Registro post1121.log yum.Log 0 Boot.log 32k mysqld.Registro 0 Post111.Registro 0 Post1121.registro 4.0K yum.registro
Proporcionar instrucciones de depuración desde la línea de comandos
Usando esta opción no necesitamos agregar "set -xv" en shell script. Simplemente cree un script de shell como a continuación
nano checkdebug2.mierda
#!/bin/bash cd/var/log/para i en "*.log "; do du -sh $ lo hice123456 | #!/bin/bash cd/var/log/para i en "*.log "; do du -sh $ idone |
y ejecutar como abajo
sh -xv checkDebug2.mierda
[Salida de muestra]
#!/bin/bash cd/var/log/ + cd/var/log/for i in "*.log "; do du -sh $ i hice + para i in '"*.log "' + du -sh boot.registrar mysqld.Registro post111.Registro post1121.log yum.Log 0 Boot.log 32k mysqld.Registro 0 Post111.Registro 0 Post1121.registro 4.0K yum.registro
- « Cómo configurar la replicación MySQL Master-Slave
- Configurar el filtrado basado en la dirección MAC del servidor proxy del squid »