Script BASH et retour variable avec GREP
pcsystemd
Messages postés
734
Statut
Membre
-
pcsystemd Messages postés 734 Statut Membre -
pcsystemd Messages postés 734 Statut Membre -
Bonjour,
voila dans mon script bash j'ai donné la valeur suivante a deux variables :
Le problème c'est que la valeur de $AGTEST est pas retournée.
Effectivement si je saisie en console :
puis
rien n'est retournée alors que dans mon fichier test.txt le mot DEBUG est bien présent.
Une idée?
Merci
--
L'accès au savoir est la première liberté que chaque homme devrait avoir.
voila dans mon script bash j'ai donné la valeur suivante a deux variables :
FILE="test.txt"
AGTEST=`grep -q "^[^#]*DEBUG" ${FILE}`
Le problème c'est que la valeur de $AGTEST est pas retournée.
Effectivement si je saisie en console :
AGTEST=`grep -q "^[^#]*DEBUG" ${FILE}`
puis
echo $AGTEST
rien n'est retournée alors que dans mon fichier test.txt le mot DEBUG est bien présent.
Une idée?
Merci
--
L'accès au savoir est la première liberté que chaque homme devrait avoir.
Configuration: Linux Mozilla 1.9.0.1
3 réponses
-
Merci a vous deux. Mille excuses jipicy car j'aurais du regarder le man de grep surtotu qu'en plus je sais qu'en general le -q vaut --quiet.
Merci Pabix, pour tes informations. Je vais testé. -
Salut,
Extrait du man grep :-q, --quiet, --silent Ne pas afficher les résultats normaux. Sortir immédiatement avec un code de retour égal à zéro si aucune concordance n'est trouvée, et même si une erreur est détectée. Voyez aussi l'option -s ou --no-messages.;-)) -
Bonjour, tu fais quelques erreurs de programmation ; il faut toujours, par précaution, metre des guillemets autour des déréférencements avec $
FILE="test.txt"
AGTEST="$(grep -q "^[^#]*DEBUG" "$FILE")"
Là, AGTEST stockera la sortie de la commande grep. Ce que tu veux c’est la valeur de retour :
FILE="test.txt" ; grep -q "^[^#]*DEBUG" "$FILE ; AGTEST="$?"
Mais si tu veux juste faire qqch si ça s’est bien déroulé, c’est
grep machin truc && autre commande
Ou alors, si une erreur a eu lieu :
grep machin truc || (echo "Erreur" ; exit)