Laço no expect

1. Laço no expect

Fernando Souza
00sax

(usa Suse)

Enviado em 05/02/2021 - 18:56h

Olá pessoal.
Quero rodar um script com expect, com um laço DENTRO do expect. Por algum motivo, o contador não incrementa e o laço não encerra nunca.
Segue:

file_size=${#xpath[@]}
counter2=1
expect << END_EXPECT
set timeout 60;
spawn [email protected]$1
while {$counter2 < $file_size } {
send "\r";
expect "[email protected]$1>";
send "${xpath[counter2]}";
set counter2 [ expr $counter2 + 1];
}
send 'quit\r'
END_EXPECT
PS: estou usando Debian e é um bash script.


  


2. Re: Laço no expect

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 05/02/2021 - 22:36h

00sax escreveu:

Olá pessoal.
Quero rodar um script com expect, com um laço DENTRO do expect. Por algum motivo, o contador não incrementa e o laço não encerra nunca.
Segue:

file_size=${#xpath[@]}
counter2=1
expect << END_EXPECT
set timeout 60;
spawn [email protected]$1
while {$counter2 < $file_size } {
send "\r";
expect "[email protected]$1>";
send "${xpath[counter2]}";
set counter2 [ expr $counter2 + 1];
}
send 'quit\r'
END_EXPECT
PS: estou usando Debian e é um bash script.

Boa noite, faça um teste:
Altere:
set counter2 [ expr $counter2 + 1];
send "${xpath[counter2]}";
Para:
set counter2 [ expr $counter2 + 1 ];
send "${xpath[$counter2]}";

______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________