루프에서 내 모뎀(Huawei e171)에 AT 명령을 보내야 합니다. 나는 다음 스크립트(script.txt 파일)를 사용해 봅니다.
start:
send AT+CSQ
sleep 2
goto start
그것을 실행했지만 minicom -S script.txt
아무것도 얻지 못했습니다. 빈 미니컴 화면이 열렸습니다.
그러나 단일 명령을 사용하는 스크립트는 잘 작동합니다.
start:
send AT+CSQ
내가 뭘 잘못했나요?
추신: 저는 다음 스크립트를 사용해 봅니다.
start:
send AT+CSQ
send AT+CSQ
send AT+CSQ
하지만 모뎀에 대해서는 3개가 아닌 1개의 응답만 제공합니다...
답변1
동의한 "기대"는 해결 방법이지만 예상한 내용을 확인한 후에만 직렬 포트 출력을 인쇄할 수 있으므로 완벽하지는 않습니다. 예상 키워드가 표시되지 않으면 아무것도 인쇄되지 않음에 관계없이 직렬 포트 출력을 인쇄합니다.
다음 예에서는 20초 동안 2초마다 "help"를 보내고 "help" 명령에 대한 응답으로 "kann>"을 예상하며 "help" >" 뒤의 "kann"을 포함하여 "help" 앞의 모든 문자를 인쇄합니다.
debian@bbb:~$ cat minicomscript.txt
verbose on
timeout 20
loop:
send help
expect "kann>"
sleep 2
goto loop
debian@bbb:~$ minicom -S minicomscript.txt
답변2
expect
명령 다음에 예상 결과와 함께 필수 솔루션 키워드를 찾았습니다 .
start:
send AT+CSQ
expect "OK"
sleep 2
goto start