domingo, 28 de agosto de 2016

Activar el modo debug en bash

Yo se me van a amar aquellos que apenas empiezan como yo en el mundillo de bash y la programación en shell script

veamos cuando la opción x en bash es agregada, bash imprimirá cada comando que ejecutará antes de ejecutarlo en la salida de standard error. eso después de aplicar cualquier expansión . como resultado  tu podras ver lo que ocurre. hay que poner especial atención en el entrecomillado. Bash utiliza las comillas para presentar exactamente las cadenas que son pasadas al script como argumentos únicos 

Básicamente hay tres formas de activar el modo debug
  • Correr el script con bash -x:
    $ bash -x ./scriptsito_del_mal
  • Cambiar el shebang (header):
    #!/bin/bash -x
    [.. script ..]
  • O:
    #!/usr/bin/env bash
    set -x
  • O agregar set -x agregar -.x o +x en bloques específicos de tu codigo para prender o apagar el modo debug y solo afectar a esa parte de tu código:
    #!/usr/bin/env bash
    [..aquí no importa este código..]
    set -x
    [..aquí había problemas activar el modo debug..]
    set +x
    [..aqui ya no esta activo el modo debug ..]
la salida del modo debug usualmente se despliega en stderr,lo que implica que la observaras en la pantalla de la terminal. pero como siempre podemos utilizar una tubería para redireccionar la salida a un archivo y evitar que se despliegue todo en pantalla:
exec 2>> /home/miarchivito.out
set -x


No hay comentarios.:

Publicar un comentario