[SHELL LINUX] Comparer deux variables

Fermé
khira - Modifié par khira le 10/05/2013 à 08:55
 Utilisateur anonyme - 10 mai 2013 à 14:49
Bonjour,

Je suis en train de me faire un script tout simple pour récupérer mon adresse ip publique, la stockée dans un fichier et la comparée avec mon ancienne IP. Pour le moment script ne va pas plus loin, plus tard il enverra un mail avec l'adresse IP

Je débute en script Linux et j'ai un problème avec la structure de If then else fi
Peu importe le contenu des mes deux variables je reste tout le temps dans le else

le fichier texte monip ne contient qu'une adresse IP.



#!/bin/bash 

#recup ip dans le fichier monip 
iplast= cat /home/xxx/script/monip 

#recup de l'adresse ip public actuelle 
ipnew=$(wget http://checkip.dyndns.org/ -O - -o /dev/null |egrep -ho "([0-9]*\.?){4}") 


#compare les deux variable 

if [ "$iplast"  =  "$ipnew"  ]; 

then 
        echo "l'adresse IP n'a pas changée" 


else 
        echo $ipnew 
        echo $iplast 
        echo $ipnew > /home/xxx/script/monip 

fi 



A voir également:

3 réponses

dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
10 mai 2013 à 13:57
hello
modifier cette ligne
iplast=$(cat /home/xxx/script/monip)
3
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
10 mai 2013 à 14:10
Salut,

Et concernant la récupération d'IP, essaye aussi avec une de ces 2 méthodes :

wget -qO- whatismyip.akamai.com
ou
curl ifconfig.me/ip

1
Utilisateur anonyme
10 mai 2013 à 14:49
salut,

vu qu'il n'y a qu'une ligne dans le fichier, cat est inutile
read lastIP < ~/script/monip
ou, pour tirer partie des capacités de bash
lastIP=$(< ~/script/monip)
1