Page 1 sur 1

[bash] aide sur la syntaxe (résolu)

Publié : mer. 13 août 2008, 23:32
par Calimero
Salut !

Je tente depuis 2h de me documenter sur la façon de créer un script qui affiche "à jour" si la commande pacman -Qu renvoie autre chose que "pas de mises à jour trouvées.".

Mais il semble que ça soit totalement évident pour tout programmeur et qu'aucune doc (que j'aie lue) ne l'explique "pour les nuls".

Voilà mon script qui marche pas mais que vous devriez comprendre comment il devrait marcher et pourquoi c'est pas le cas !

Code : Tout sélectionner

#1.1 /bin/sh
if [pacman -Qu | grep pas = "pas de mises à jour trouvées."]
then echo à jour
else echo maj dispo !
fi

Publié : jeu. 14 août 2008, 01:18
par wain
Tu dois indiquer que "pacman -Qu" est une commande. Pour cela tu la place entre parenthèse avec un dollar devant. Ne pas oublier non plus les guillemets lorsqu'on compare des chaînes de caractère.

Code : Tout sélectionner

if [ "$(pacman -Qu | grep pas)" = "pas de mises à jour trouvées." ] 
then echo à jour 
else echo maj dispo ! 
fi

Publié : jeu. 14 août 2008, 10:23
par Calimero
Excellent, merci ! :D

Sans le $ fallait pas s'étonner que ça marche pas... (j'avais déjà essayé entre guillemets mais ça faisait rien de mieux)

Publié : jeu. 14 août 2008, 10:30
par PierreAd
Calimero a écrit :Excellent, merci ! :D

Sans le $ fallait pas s'étonner que ça marche pas... (j'avais déjà essayé entre guillemets mais ça faisait rien de mieux)
Entre guillemets normaux non, sinon l'équivalent de la syntaxe $(...) ce serait la syntaxe avec des guillemets inversés (je suis pas sur de l'exactitude du terme ;)) `...` (altgr + 7 chez moi)