[Linux-bruxelles] [bash]

Dusausoy Bruno bdusauso at beeznest.net
Sam 27 Déc 18:40:13 CET 2003


Le sam 27/12/2003 à 18:08, Grégoire Alexandre a écrit :
> Bonjour la liste,
> 
> petit probleme de script bash, ke j arrive pas a faire fonctionner
> voici le script
> 
> #!/bin/bash
> OLDIP=`cat /tmp/noip_old`
> NEWIP=`cat /tmp/noip_new`
> if["$OLDIP" != "$NEWIP"]
> then
> 	echo "New ip here !"
> 	/etc/init.d/proftpd restart &> /dev/null
> fi
> exit 0
> 
Essaye plutôt ceci :

#!/bin/bash
OLDIP=`cat /tmp/noip_old`
NEWIP=`cat /tmp/noip_new`
if [ "$OLDIP" != "$NEWIP" ]
then
    echo "New ip here !"
    /etc/init.d/proftpd restart &> /dev/null
fi
exit 0

Ca marche nickel !

> l interpreteur bash me dit:
> if[212.34.23.12: command not found
> line 5 syntax error near unexpected token  'then'
> line 5 'then'
> 
Il faut faire très attention en script shell. Ici l'erreur vient du fait
que tu n'as pas mis d'espace entre le «if» et le «[» du test (idem entre
le «[» et la première opérande, ainsi qu'à la fin du test, entre la
deuxième opérande et le second "]")
 
> je comprends pas les erreurs, je cherche juste a tester si deux strings sont 
> egaux, et si oui, faire un echo et executer une commande.
> 
Je te conseille ce guide (très bien fait, beaucoup d'exemples) :
http://ldp.unixtech.be/LDP/abs/html/index.html

> Voila,
> merci d avance de votre aide!

Pas de problème, c'est toujours un plaisir que d'aider les autres.
-- 
Dusausoy Bruno <bdusauso at beeznest.net>




Plus d'informations sur la liste de diffusion Linux-bruxelles