Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 neutral
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!