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 23/11/2008, à 15: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, à 16:25

slasher_fun

Re : problème de «if» dans un script shell

Bonjour,

Dommage tu avais tout essayé... sauf le bon big_smile

if [ $reponse = 1 ]

Hors ligne

#3 Le 23/11/2008, à 17: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, à 17:36

Totor

Re : problème de «if» dans un script shell

slasher-fun a écrit :

Bonjour,

Dommage tu avais tout essayé... sauf le bon big_smile

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, à 18: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, à 19:14

slasher_fun

Re : problème de «if» dans un script shell

zikos, merci de créer ton propre topic.

Hors ligne