|
| bessonnet | Posté le 30/06/2006 @ 09:28 |
Petite astucienne
12 Messages
| bonjour,
voici mon script :
[code]#!/bin/sh
# bin/telnet
while [ 1 ];do
{
#declaration des variables globales
i="0";
PORT="23";
PING="ping -c 1 $MACHINE";
MACHINE="@ip";
LOGIN="login";
PWD="pwd";
CMD[1]="ethernet";
CMD[2]="portState";
CMD[3]="8";
CMD[4]="disable";
CMD[5]="logout";
while [ $PING ] && [ i!=720 ];do
{
sleep 5;
i=`expr $i + 1`;
}
done;
#ouverture d'une session telnet sur le Switch 3com
(sleep 2; echo -e "\15"; sleep 2; echo -e "$LOGIN\15"; sleep 2; echo -e "$PWD\15"; sleep 2; echo -e "${CMD[1]}\15"; sleep 5; echo -e "${CMD[2]}\15"; sleep 5; echo -e "${CMD[3]}\15"; sleep 5; echo -e "${CMD[4]}\15"; sleep 5; echo -e "${CMD[5]}\15";) | telnet $MACHINE $PORT;
while [ ! $PING ];do
{
sleep 5;
}
done;
}
done;
exit 0;[/code]
ce script doit me permettre de "pinguer" en continue un Switch et si au bout d'une heure une on peu toujours le "pinguer" alors il faut fermer un port du Switch.
mon probleme est que mon script ne marche pas.
il me met : too many arguments line 20 line 32. sur ces deux ligne ce trouve les boucles while.
je ne comprends pas pourquoi ? Auriez vous une idée ? Pouvez vous m'aider s'il vous plait ?
|
| |
| |
| Publicité |
|
|
| breizhbugs | Posté le 30/06/2006 à 11:55 |
Astucien
3001 Messages
| [hello]
Re,
Bien que cela ait a voir avec les languages de programmation, peut etre que tu devrais plutot aller sur le sous forum dédiée a linux...
Je connais pas grand chose(==rien en fait j'ai tout oublié de l'iut car je ne pratique pas linux) en sh mais d'apres ce site
http://www.selectorweb.com/unix_sh.html#intro
ta condition [i!=720] srait plutot du genre [$i -ne 720]pour le reste je sais pas.
|
| |
|
| bessonnet | Posté le 30/06/2006 à 13:17 |
Petite astucienne
12 Messages
| oui j'ai trouvé ça aussi alors j'ai changer deux ligne :
les deux ligne ou j'ai mes while :
[code]while [ [ $PING ] && [ i -ne 720 ] ]; do[/code]
[code]while [ $PING -ne 0 ]; do[/code]
voila mais j'ai toujours mes erreurs
pour le ligne 20 l'erreur c'est transformée en : [:missing`]'
voila !
sous linux ce n'est que logiciel (enfin c'est ce qui est ecrit) c'est pour ça que j'ai posté ici. |
| |
|
| breizhbugs | Posté le 30/06/2006 à 14:31 |
Astucien
3001 Messages
| Tu ne mets pas de $ devant i?
Pour le sous forum linux, c'est la que les experts sont, meme si ce n'est que logiciel!
Modifié par breizhbugs le 30/06/2006 14:32 |
| |
|
| bessonnet | Posté le 30/06/2006 à 15:21 |
Petite astucienne
12 Messages
| merci pour le $ devant le i, je ne l'avais pas vu !
et bien je crois que je vai suivre tes conseil et le poster ailleurs.
merci |
| |
|
|
| Haut de la page |