Bonjour,
J'ai écrit une fonction «DEBUG» utilisable dans un script bash qui affiche le mot DEBUG, son rang dans la liste des DEBUG, le numéro de ligne sur laquelle il est lancé et un commentaire. Le commentaire suffisant est le plus souvent de la forme:
"
qui affiche:
DEBUG 6 ligne:98 mavariable=SaValeur
Je cherche à remplacer le commentaire par le seul nom de la variable, « mavariable » pour que le commentaire soit composé automatiquement comme ci dessus.
Je n'aurais plus qu'à écrire:
DEBUG "mavariable", et au lancement du script s'afficherait la ligne:
DEBUG 6 ligne:98 mavariable=SaValeur
Ma question est, comment récupérer le nom de la variable en plus de sa valeur, passé comme argument à la fonction DEBUG pour l'afficher ?
J'ai essayé diverses formes avec ${$1} ou avec eval $1 et autres combinaisons, en vain.
Par exemple, la ligne commentée suivante avec eval ne fonctionne pas: ($1 contient le nom d'une variable, sans son opérateur «$»):
1 2 3 4
| if [[ "$#" -gt 0 ]] ; then
COMMENT="$1" # renvoie RACINE
# eval "echo COMMENT = $COMMENT" # Plante la fonction (et le script qui la contient)
fi |
Partager