[quote=“eric.loiseaux”]Sinon mon wifi, Intel Pro 3945abg détecté à l’installation avec Debian etch, est bien sur eth2 et marche bien.
[/quote]okay oui, tu dois avoir raison, j’ai plus de wifi, je sais plus bien …
bon pour ton script, il y a plusieurs ennui, d’abord tu vas boucler 100 000 en lançant les commandes ifconfig, de quoi plier ton cpu, y rigole non ?
Au niveau du concept, c’est douteux, donc pourquoi pas faire un sleep ?
Je suppose que tu le lances en tâche de fond ton script ? (&)
Alors pour ton problème, tu testes donc une chaine qui peut être soit :
- “”
- xxx (octets)
Le problème c’est que tu ne la teste pas comme on teste les chaines, mais comme on teste les chiffres (en bash => opérateurs -lt -gt -ge -le ).
Envoyer une chaine vide dans ce test, c’est l’erreur assurée, et quand ton script démarre, j’imagine que tes interfaces n’ont reçu que nada octets !
(donc pas de ligne avec le mot octet).
je ferai donc un truc du style :
[code]#! /bin/bash
declare -i verif=0
declare -i verif1=0
declare bool=0 # 0 est équivalent à true, en bash
while bool;do
grep renvoie vrai s’il trouve une correspondance :
if[ $(ifconfig eth2 | grep Octets &>/dev/null) && $(ifconfig eth1 | grep Octets &>/dev/null) ]; then
# c’est pas suffisant car il faut être sûr que tes cut vont récupérer que des chiffres
verif=$(ifconfig eth2 | grep Octets | cut -d: -f2 | cut -d’ ’ -f1)
verif1=$(ifconfig eth1 | grep Octets | cut -d: -f2 | cut -d’ ’ -f1)
fi
là on a normalement deux entiers à tester !
pas besoin de guillemets pour tester des entiers
if [ $verif -ge 900 ] && [ $verif1 -ge 900 ]; then
bool=1 # ah ben si c’est bon on demande à sortir de while
else sleep 1 # sinon on roupille une seconde pour laisser les autres process exister
fi
done
sudo firestarter --start-hidden # à voir si avec cette ligne il se lance en tâche de fond !
exit 0 [/code]