Script BASH et retour variable avec GREP
Fermé
pcsystemd
Messages postés
700
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
29 juillet 2024
-
16 oct. 2008 à 18:14
pcsystemd Messages postés 700 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 29 juillet 2024 - 17 oct. 2008 à 05:56
pcsystemd Messages postés 700 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 29 juillet 2024 - 17 oct. 2008 à 05:56
A voir également:
- Grep variable bash
- List bash ✓ - Forum Shell
- Minimal bash-like line editing is supported ✓ - Forum Linux / Unix
- Grep plusieurs mots ✓ - Forum Linux / Unix
- Retour à la ligne bash ✓ - Forum Shell
3 réponses
pcsystemd
Messages postés
700
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
29 juillet 2024
23
17 oct. 2008 à 05:56
17 oct. 2008 à 05:56
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é.
Merci Pabix, pour tes informations. Je vais testé.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
16 oct. 2008 à 18:17
16 oct. 2008 à 18:17
Salut,
Extrait du man grep :
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.;-))
(Pabix)
Messages postés
578
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
27 octobre 2009
81
16 oct. 2008 à 18:24
16 oct. 2008 à 18:24
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)
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)