alors que les boucles d'attendre

Je suis l'aide d'attendre à l'intérieur de bash. Je veux que mon script pour telnet dans une boîte, s'attendre à une invite de commandes, envoyer une commande. Si il y a une autre invite de maintenant, il doit faire procéder, ou autre chose, elle a pour envoyer la commande à nouveau.
Mon script va comme ceci:

\#!bin/bash  
//I am filling up IP and PORT1 here  
expect -c "    
set timeout -1  
spawn telnet $IP $PORT1  
sleep 1  
send \"\r\"  
send \"\r\"  
set temp 1  
while( $temp == 1){    
expect {  
Prompt1 { send \"command\" }  
Prompt2 {send \"Yes\"; set done 0}  
}  
}  
"  

De sortie:

invalid command name "while("  
    while executing  
"while( == 1){" 

De bien vouloir m'aider.

J'ai essayé de le modifier pour while [ $temp == 1] {

Je suis toujours confronté à l'erreur ci-dessous:

De sortie:

invalid command name "=="  
    while executing  
"== 1"  
    invoked from within  
"while [  == 1] {  
expect {
Vous pouvez d'abord écrire un pur attendre script pendant le débogage de ce problème de sorte que vous n'avez pas de shell citer des règles susceptibles de modifier votre script expect de manière subtile.
Ce qui se passe avec les étranges erreurs: parce que votre script est entre guillemets doubles, le shell (ne pas attendre) est substituant $temp avec une valeur nulle.

OriginalL'auteur Pkp | 2011-04-20