# [Tip] Messages de debug en bash

## Starch

Vraiment tout con, mais je suis tombé dessus ce matin dans le man bash, et je trouve ça assez génial.

Mieux que les echo "machin" pour debugguer vos scripts, je propose une petite fonction :

```

function debug()

{

  echo "[DEBUG(${FUNCNAME[1]}:${BASH_LINENO[0]})] $*"

}

```

Appelé dans le code de votre script de la manière suivante

```

152 function test()

153 {

154   debug entrée dans la fonction test

155   do_something

156   ...

157 }

```

à l'exécution l'on verra apparaitre le message suivant :

```

[DEBUG(test:154)] entrée dans la fonction test

```

Voilà. Pour les basheurs de l'extrême ça peut aider.

----------

## Zazbar

hu hu tres pratique cette petite fonction ! merci pour l'info ca me servira surement !

----------

## spider312

ouais, surtout qu'au moment ou tu mets ce script "en production", tu vire le code de la fonction débug, et t'as même pas à virer les débugs, qui pourront servir plus tard si t'as à faire des modifs dessus, c'est super pratique comme méthode, bien sur là avec le n° de ligne et la fonction, c'est vraiment génial  :Very Happy: 

----------

## ghoti

Oui, très chouette !  :Very Happy: 

En complément, il y a sûrement moyen d'implémenter un "set +x" et un "set -x" ...

----------

## Starch

Content que ça plaise ;p

 *ghoti wrote:*   

> En complément, il y a sûrement moyen d'implémenter un "set +x" et un "set -x" ...

 

Késaco ?

----------

## ghoti

 *Starch wrote:*   

> Késaco ?

 

Ca permet de "tracer" les instruction bash ...

info bash / Bash Builtins::  :Wink: 

----------

## Starch

OK   :Very Happy: 

----------

## Syl20

 *ghoti wrote:*   

> Oui, très chouette ! 
> 
> En complément, il y a sûrement moyen d'implémenter un "set +x" et un "set -x" ...

 

Ben dans la première ligne...

```
#!/bin/bash -x

blablabla...
```

----------

