#1 Le 27/10/2008, à 14:47
- anonyme1
[Résolu] Bash - question sur le résultat d'une fonction
Bonjour,
Je me pose des questions existentielles sous Bash
Ci-après la fonction (débile, je vous l'accorde...) :
function test {
a="manger|boire|dormir"
b=1
c=1
if echo $a | grep "manger"; then
d=$((b+c))
echo $d
fi
}
resultat=`test`
echo $resultat
Comment puis-je modifier l'écriture du test sur le contenu de "a" pour éviter de me retrouver avec un "echo" parasite dans la variable "resultat" ?
Dernière modification par redrum (Le 27/10/2008, à 19:37)
#2 Le 27/10/2008, à 14:52
- verbose
Re : [Résolu] Bash - question sur le résultat d'une fonction
Je ne suis pas sûr que ce soit ce que tu demandes mais tu pourrais faire ceci :
if echo $a | grep "manger" 2> /dev/null; then
[...]
fi
Hors ligne
#3 Le 27/10/2008, à 15:07
- anonyme1
Re : [Résolu] Bash - question sur le résultat d'une fonction
Merci, ça ne fonctionne pas avec 2>/dev/null mais avec 1>/dev/null.
Il n'y a pas une solution plus 'clean' ?
Dernière modification par redrum (Le 27/10/2008, à 15:34)
#4 Le 27/10/2008, à 17:26
- Alain.g
Re : [Résolu] Bash - question sur le résultat d'une fonction
Bonsoir
Option -q de grep :
if echo "$a" | grep -q "manger" ; then
ou plus rapide :
if [[ "$a" == *manger* ]] ; then
Xubuntu Karmic !
Hors ligne
#5 Le 27/10/2008, à 19:37
- anonyme1
Re : [Résolu] Bash - question sur le résultat d'une fonction
merci alain.g!