#1 Le 23/11/2008, à 14:44
- elendil
problème de «if» dans un script shell
Salut à tous j'ai un petit problème de script.
J'ai créé un script et dans lequel j'ai besoin d'un :
read reponse
if [$reponse -eq 1]
then
echo ok
fi
Le seul problème c'est que lorsque j'exécute ce script (reponse étant égale à 1) j'ai une erreur:
bash: [1 : commande introuvable
Qui m'est renvoyé par le terminal.
Que faire?
J'ai aussi essayé:
if [$reponse=1]
then
echo ok
fi
et j'ai l'erreur suivante:
bash: [1=1] : commande introuvable
Merci à ceux qui peuvent m'aider. (Vous avez compris je ne suis pas encore très doué avec les scripts!)
Hors ligne
#2 Le 23/11/2008, à 15:25
- slasher_fun
Re : problème de «if» dans un script shell
Bonjour,
Dommage tu avais tout essayé... sauf le bon
if [ $reponse = 1 ]
Hors ligne
#3 Le 23/11/2008, à 16:08
- elendil
Re : problème de «if» dans un script shell
Merci beaucoup de ton aide.
Je n'arrivait pas à trouver la solution qui était faut le reconnaître on ne peut plus simple.
Merci
Hors ligne
#4 Le 23/11/2008, à 16:36
- Totor
Re : problème de «if» dans un script shell
Bonjour,
Dommage tu avais tout essayé... sauf le bon
if [ $reponse = 1 ]
Pour ma part, je pense que l'erreur provenait d'un espace manquant de part et d'autre du test d'égalité ( après [ et avant ]).
La notation suivante était donc correcte :
...
if [ $reponse -eq 1 ]
then
...
fi
...
Cependant, la valeur de reponse pouvant être vide, il faut encadrer le nom des variables par des guillemets afin de comparer des chaines de caractères.
...
if [ "$reponse" = "1" ]
then
...
fi
...
Enfin, le test utilisant un simple signe = n'est à utiliser que pour une compatibilité stricte avec POSIX.
L'utilisation standard est l'emploi de == :
...
if [ "$reponse" == "1" ]
then
...
fi
...
-- Lucid Lynx --
Hors ligne
#5 Le 23/11/2008, à 17:58
- zikos
Re : problème de «if» dans un script shell
salut!
comment je fais pour chercher les fichiers qui ont été créer depuis 3 jours?
=> Find . - ctime ???
merci d'avance
#6 Le 23/11/2008, à 18:14
- slasher_fun
Re : problème de «if» dans un script shell
zikos, merci de créer ton propre topic.
Hors ligne