나는 다음 스크립트를 작성했습니다.
#!/bin/sh
expect -c "
spawn cu -l /dev/ttyUSB0 -s 115200
expect \"foo\"
send \"bar\"
"
echo $?
없이 실행할 때 /dev/ttyUSB0
:
$ ls /dev/ttyUSB0
ls: cannot access '/dev/ttyUSB0': No such file or directory
$ ./test.sh
spawn cu -l /dev/ttyUSB0 -s 115200
cu: open (/dev/ttyUSB0): No such file or directory
cu: /dev/ttyUSB0: Line in use
send: spawn id exp4 not open
while executing
"send "bar""
0
expect
제품을 반품하는 이유는 무엇 입니까 0
? 결함을
감지하는 방법은 무엇입니까 spawn
?
답변1
당신은 테스트할 수 있습니다foo
그리고 eof
#!/bin/sh
expect <<'END_EXPECT'
spawn cu -l /dev/ttyUSB0 -s 115200
expect {
eof {
puts stderr "Cannot open cu"
exit 1
}
"foo"
}
send "bar"
END_EXPECT
echo $?
예상되는 코드를 포함하기 위해 인용된 문자열을 사용하는 것보다 여기에 있는 설명서를 사용하는 것이 더 쉽다는 것을 알았습니다. 여기에 인용된 문서는 \$expect_variables
탈출에 대해 걱정할 필요가 없음을 의미합니다.