Boucle while
hamadamoi
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
salut,
j'ai besoin d'aide pour faire un script en shell :
recherche adresse ip dans fichier qui contient une adresse ip
stocké adresse ip1=192.168.0.1
recherche adresse ip le meme fichier
tant que adresse ip=adresse ip1
recherche adresse ip dans le meme fichier
tant que adresse ip notequal adresse ip1
stocké adresse ip2=192.168.0.2
la recherche de l'adresse ip sera exécute 4 ou 5 fois
merci
j'ai besoin d'aide pour faire un script en shell :
recherche adresse ip dans fichier qui contient une adresse ip
stocké adresse ip1=192.168.0.1
recherche adresse ip le meme fichier
tant que adresse ip=adresse ip1
recherche adresse ip dans le meme fichier
tant que adresse ip notequal adresse ip1
stocké adresse ip2=192.168.0.2
la recherche de l'adresse ip sera exécute 4 ou 5 fois
merci
4 réponses
Salut.
je n'ai pas bien compris ton problème.
Donne nous :
-le format de ton fichier
-ce que tu attends en sorti de script.
Fait des phrase plutôt que ce pseudo algorithme peu clair;
je n'ai pas bien compris ton problème.
Donne nous :
-le format de ton fichier
-ce que tu attends en sorti de script.
Fait des phrase plutôt que ce pseudo algorithme peu clair;
salut Char Snipeur
voila mon script
#!bin/bash
#importer la page de testmire avec (wget) et metre dans un fichier spped.txt
wget -S http://mire.ipadsl.net/speedtest.php -O /root/spped.txt 2>&1
#chercher l'adresse ip du test
adresse_ip1=$(grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" /root/spped.txt)
#chercher le debit de l'adresse ip1
debit1=$(grep -o 'Votre Bande Passante [^"]*' /root/ahmed/spped.txt | awk '{print $4}' )
normalement j'ai 3 ligne adsl (alors 3 adresse ip)
maintenant je veux metre adresse ip1 et debit 1 dans un tableau
et refaire la recherche 5 ou 6 fois
stocké les adresse ip (ip2 et ip3) dans le meme tableau
voila mon script
#!bin/bash
#importer la page de testmire avec (wget) et metre dans un fichier spped.txt
wget -S http://mire.ipadsl.net/speedtest.php -O /root/spped.txt 2>&1
#chercher l'adresse ip du test
adresse_ip1=$(grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" /root/spped.txt)
#chercher le debit de l'adresse ip1
debit1=$(grep -o 'Votre Bande Passante [^"]*' /root/ahmed/spped.txt | awk '{print $4}' )
normalement j'ai 3 ligne adsl (alors 3 adresse ip)
maintenant je veux metre adresse ip1 et debit 1 dans un tableau
et refaire la recherche 5 ou 6 fois
stocké les adresse ip (ip2 et ip3) dans le meme tableau
declare -a ip declare -a debit for ipc in $(grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" /root/spped.txt) do : ip[${#ip[*]}]=$ipc debit[${#debit[*]}]=$(grep -o 'Votre Bande Passante [^"]*' /root/ahmed/spped.txt | awk '{print $4}' ) done
je n'ai pas testé, mais je ferai un truc comme ça.
http://aral.iut-rodez.fr/fr/sanchis/enseignement/bash/ar01s12.html
La vrai soumission c'est quand les esclaves s'inquiètent du cours du coton.
Char Snipeur
salut
ca marche pas mais je pense que le tableau ca va compliqué les choses
revenant à mon scripte en haut:
je vais etre un peux claire mnt:
chaque fois que j'execute ces commandes :
#importer la page de testmire avec (wget) et metre dans un fichier spped.txt
wget -S http://mire.ipadsl.net/speedtest.php -O /root/spped.txt 2>&1
#chercher l'adresse ip du test
ip1=$(grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" /root/spped.txt)
ca donne une adresse ip (soit ip1 ou ip2 ou ip3)
mnt je veux metre les commandes dans une boucle
si ip = ip1
wget -S http://mire.ipadsl.net/speedtest.php -O /root/spped.txt 2>&1
ip=$(grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" /root/spped.txt)
si non enregistre ip2
wget ...
ip=....
si ip = ip1 et ip = ip2
wget -S http://mire.ipadsl.net/speedtest.php -O /root/spped.txt 2>&1
ip=$(grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" /root/spped.txt)
si non enregistre ip3
merci
ca marche pas mais je pense que le tableau ca va compliqué les choses
revenant à mon scripte en haut:
je vais etre un peux claire mnt:
chaque fois que j'execute ces commandes :
#importer la page de testmire avec (wget) et metre dans un fichier spped.txt
wget -S http://mire.ipadsl.net/speedtest.php -O /root/spped.txt 2>&1
#chercher l'adresse ip du test
ip1=$(grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" /root/spped.txt)
ca donne une adresse ip (soit ip1 ou ip2 ou ip3)
mnt je veux metre les commandes dans une boucle
si ip = ip1
wget -S http://mire.ipadsl.net/speedtest.php -O /root/spped.txt 2>&1
ip=$(grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" /root/spped.txt)
si non enregistre ip2
wget ...
ip=....
si ip = ip1 et ip = ip2
wget -S http://mire.ipadsl.net/speedtest.php -O /root/spped.txt 2>&1
ip=$(grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" /root/spped.txt)
si non enregistre ip3
merci
Salut,
Y'a un truc que je ne pige pas dans ton raisonnement ;-\
Quand tu dis :
chaque fois que j'execute ces commandes :
wget -S ...
ip1=$(grep ...
Tu fais ça pour déterminer l'adresse IP de ta connexion?
Tu ne la connais pas avant de lancer le script ?
En fait c'est quand tu disais "normalement j'ai 3 ligne adsl (alors 3 adresse ip) ". Les 3 lignes sont au même endroit ?
Parce que pour avoir son adresse IP externe un simple
Y'a un truc que je ne pige pas dans ton raisonnement ;-\
Quand tu dis :
chaque fois que j'execute ces commandes :
wget -S ...
ip1=$(grep ...
Tu fais ça pour déterminer l'adresse IP de ta connexion?
Tu ne la connais pas avant de lancer le script ?
En fait c'est quand tu disais "normalement j'ai 3 ligne adsl (alors 3 adresse ip) ". Les 3 lignes sont au même endroit ?
Parce que pour avoir son adresse IP externe un simple
curl ifconfig.me/ipsuffit ;-\