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 28/08/2013, à 10:59

LINUXIX

[ Résolu ] erreur de Scripts

Bonjours a tous , je suis nouveau et j'espère que je me suis pas tromper de rubrique smile
j'ai une erreur sur un script si on pouvais m'aide je vous en remercie beaucoup

#!/bin/sh
a=0
b=0

echo -n "classe :" ; read a b
until [ $a -gt 0 ] ;do
echo -n "il manque un argument,entrer votre nombre :" ; read a
done

until [ $b -gt 0 ] ;do
echo -n "il manque un argument,entrer votre nombre :" ; read b
done

if [ $a -lt $b ] ;then
echo "$a est inferieur a $b"
elif [ $a -gt $b ] ;then
echo "$b est inferieur a $a"
fi
exit 0

et voila l'erreur qu'il me fait quand t'il manque un argument ...


classe :34
[: 15: -gt: unexpected operator
il manque un argument,entrer votre nombre :56
34 est inferieur a 56
richard@lithium:~/Scripts$

je vous remercie d'avance smile

Dernière modification par LINUXIX (Le 28/08/2013, à 12:05)

Hors ligne

#2 Le 28/08/2013, à 11:31

Watael

Re : [ Résolu ] erreur de Scripts

salut,

read a b écrase les valeurs par défaut.
donc, si b n'est pas renseigné, le test échoue parce que $b est vide.

tu peux rendre une valeur par défaut en utilisant le Remplacement des paramètres (voir man sh).

Dernière modification par Watael (Le 28/08/2013, à 11:32)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 28/08/2013, à 11:31

pingouinux

Re : [ Résolu ] erreur de Scripts

Bonjour,
Il faut placer les variables entre guillemets " ".

elif [ "$a" -gt "$b" ] ;then

Édité :
Ça ne suffit pas, car l'opérateur -gt attend des valeurs entières. La solution de Watael est la bonne.

Dernière modification par pingouinux (Le 28/08/2013, à 11:36)

Hors ligne

#4 Le 28/08/2013, à 12:04

LINUXIX

Re : [ Résolu ] erreur de Scripts

Je vous remercie beaucoup je vais aller voir sa
merci a tous pour votre aide je vais revenir vous voir j'ai d'autre exercice a faire comme sa que je ne comprend pas tous
merci encore a tous smile

Hors ligne