Я не могу понять, как работает цикл.Ожидать, что цикл не работает
У меня есть код:
j=0
/usr/bin/expect << SSHLOGIN
..........
for {set $j 0} {$j < 5} {incr $j 1} {
expect {
"*> " {
send "$j\r"
sleep 1
}
}
}
...........
SSHLOGIN
И он получает сообщение об ошибке, как:
extra characters after close-brace
while executing
"for {set j 0}{ < 5}{incr 1} {
"
Если я объявляю J снаружи. Петля просто застревает до 0 и повторяет. Я не могу найти информацию о том, что внутри цикла ожидает ожидание. Кто-нибудь пробовал это?
UPDATE: объявленная переменная снаружи, теперь петли бесконечное число раз на 0.
Я обновил вопрос способом, которым я пользуюсь. Пространства не помогли. Но веб-страница действительно полезна. Я пробую несколько других способов, как это сделать, я дам вам знать. – sauletasmiestas
Это немного разочаровывает. Я получаю те же результаты от «expect -c» .. »« Я пробовал foreach, пока и до сих пор нет подходящих результатов ... – sauletasmiestas
Спасибо, что выполнила эту работу ... Но тогда я хочу добавить некоторые переменные из сценария оболочки немного сложно. Идея, что некоторые команды используют имя, помогла мне обмануть цикл. Вместо закрытия ожидать часть из $ переменных, таких как «SSHLOGIN». Я просто написал такой цикл: 'for {set j 0} {[incr j 0] <5} {incr j}'. 'incr' использует имя и возвращает одно и то же значение, не выходя за пределы сценария Shell, чтобы искать varaible. – sauletasmiestas