expect for 루프가 작동하는 방식을 이해할 수 없습니다.Expect for 루프가 작동하지 않습니다.
나는 내 코드가 있습니다
j=0
/usr/bin/expect << SSHLOGIN
..........
for {set $j 0} {$j < 5} {incr $j 1} {
expect {
"*> " {
send "$j\r"
sleep 1
}
}
}
...........
SSHLOGIN
을 그리고 그것은 같은 오류를 얻을 : 나는 밖에 J를 선언하면
extra characters after close-brace
while executing
"for {set j 0}{ < 5}{incr 1} {
"
. 루프는 0으로 붙어 반복됩니다. for 루프 내부에 대한 정보를 찾을 수 없습니다. 누가 그걸 시도 했습니까?
UPDATE : 선언 된 변수는 외부, 지금은
나는 내가 사용하는 방법으로 질문을 업데이 트했습니다. 공백이 도움이되지 않았습니다. 그러나 웹 페이지가 정말 도움이됩니다. 다른 방법으로 시도하는 중입니다. 알려 드리겠습니다. – sauletasmiestas
이것은 다소 실망 스럽습니다. 나는 'expect -c "와 같은 결과를 얻는다." "foreach를 시도했지만 여전히 적절한 결과가 없습니다. ... – sauletasmiestas
고마워요. 그런데 쉘 스크립트에서 몇 가지 변수를 추가하고 싶습니다. 조금 까다 롭습니다. 일부 명령이 이름을 사용한다는 생각은 내가 루프를 속이는 것을 도왔습니다. 'SSHLOGIN'과 같은 $ 변수에서 기대하는 부분을 닫는 대신. 방금 다음과 같은 루프를 작성했습니다. for {set j 0} {[incr j 0] <5} {incr j}'. 'incr'는 이름을 사용하고 바깥 쪽을 보지 않고 동일한 값을 반환합니다. – sauletasmiestas