No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

11 Días
2 Hrs
34 Min
54 Seg
Curso de Programación en Bash Shell

Curso de Programación en Bash Shell

Marco Antonio Toscano Freire

Marco Antonio Toscano Freire

Debug en Script

10/43
Recursos

Para realizar debugging en un script tenemos dos opciones en el comando de bash:

  • -v: Utilizado para ver el resultado detallado de nuestro script, evaluado línea por línea.
  • -x: Utilizado para desplegar la información de los comandos que son usados, capturando el comando y su salida.

Aportes 21

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

  • bash -v: Te muestra el script y sus valores evaluados
  • bash -x: Te muestra el script. valores evaluados y especifica cuales son entradas y salidas

Les comparto mis apuntes… gracias.

Muy bien explicado, no conocia estos usos de bash.

siempre en programacion es importante encontrar los errores
nos ayuda a crecer y mejorar nuestras habilidades.

  • ¿Cómo realizar el debug de un script?
    Hay dos opciones para realizar el debug utilizando el comando bash.
  1. -v. Utilizado para ver el resultado detallado de nuestro script, evaluado línea por línea.
  2. -x. Utilizado para ver desplegar la información de los comandos que son utilizados, capturando el comando y su salida.

El manual de bash (man bash) dice lo siguiente para las opciones:

  • -v Print shell input lines as they are read.
  • -x Print commands and their arguments as they are executed.

Si tan solo se pudiera hacer esto con otros lenguajes de programación, sin necesidad de agregar nuevas variables o nuevas impresiones; nos ahorraríamos muchos dolores de cabeza y tiempo.

El proceso de depuración (debugging) en scripts Bash es crucial para identificar y solucionar errores. Aquí hay varias técnicas y herramientas para depurar tus scripts: \### \*\*1. Usar el Modo de Depuración\*\* Puedes ejecutar un script en modo de depuración para ver cómo se ejecutan los comandos y cómo cambian las variables. \- \*\*Modo de Depuración Completo\*\*: Usa `bash -x script.sh` para ejecutar el script en modo de depuración, lo que imprimirá cada comando antes de ejecutarlo. ```bash bash -x script.sh ``` \- \*\*Modo de Depuración Dentro del Script\*\*: Puedes activar el modo de depuración dentro del script añadiendo `set -x` al principio del script. Para desactivar el modo de depuración, usa `set +x`. ```bash \#!/bin/bash set -x # Activar depuración echo "This is a test" ls -l set +x # Desactivar depuración ``` \### \*\*2. Usar `echo` para Imprimir Variables y Mensajes\*\* Una técnica común es imprimir el valor de las variables y mensajes en diferentes partes del script para entender el flujo y los valores en tiempo de ejecución. ```bash \#!/bin/bash var="Hello" echo "The value of var is: $var" \# Más lógica ``` \### \*\*3. Verificar Errores de Comandos\*\* Puedes usar `$?` para verificar el estado de salida del último comando ejecutado. Un estado de salida `0` indica éxito, y cualquier otro valor indica un error. ```bash \#!/bin/bash cp /source/file /destination/ if \[ $? -ne 0 ]; then echo "Error: The copy command failed." fi ``` \### \*\*4. Usar `trap` para Capturar Errores\*\* El comando `trap` puede ser usado para ejecutar un comando cuando el script recibe una señal o en caso de errores. ```bash \#!/bin/bash trap 'echo "Error occurred at line $LINENO"; exit 1;' ERR \# Código que puede fallar cp /source/file /destination/ ``` \### \*\*5. Comprobar el Script Paso a Paso\*\* Puedes ejecutar el script paso a paso utilizando un depurador de scripts, como `bashdb`, que proporciona un entorno interactivo para depurar scripts Bash. ```bash bashdb script.sh ``` \### \*\*6. Verificar la Sintaxis del Script\*\* Usa `bash -n script.sh` para verificar la sintaxis del script sin ejecutarlo. Esto te ayuda a detectar errores de sintaxis. ```bash bash -n script.sh ``` \### \*\*7. Revisar el Log de Ejecución\*\* Si el script está ejecutando comandos que escriben en un archivo de log, revisa esos archivos para encontrar información sobre lo que está ocurriendo. ```bash \#!/bin/bash echo "Starting script..." >> /var/log/myscript.log ``` \### \*\*8. Validar Entrada y Salida\*\* Asegúrate de que las entradas y salidas de los comandos sean las esperadas. Esto incluye verificar si los archivos o directorios existen, si tienes los permisos adecuados, etc. ```bash \#!/bin/bash if \[ ! -f /path/to/file ]; then echo "File not found!" exit 1 fi ``` Estas técnicas te ayudarán a identificar y resolver problemas en tus scripts Bash. La depuración efectiva es clave para crear scripts robustos y confiables.

No es por nada pero me encanta utilizar la terminal de comandos de esta forma (mientras no valla a borrar el system 32).

Para ejecutar los scripts que no necesiten de un input al ser ejecutados pueden escribir en el modo ex de vim:

:!bash % 

excelente profesor

Excelente! (y)

Muy bien Explicado. Cada que avanzo en el curso voy entendiendo mas como utilizar linux, Vim y el lenguaje de programacion Script

Sencillo y conciso.

Excelente dato.

Excelente este tip

genial

Muy bueno pero… no se tendrá la experiencia de detener el código, revisar valores, lo que está en ejecución, lo que se ejecutará y lo ejecutado. Aunque no hay esas grandes ventajas, útil para pequeños programas.

Interesante clase, no conocía estas utilidades de bash. Genial para ir evaluando los scripts que se elaboran.