예상 스크립트의 명령에서 종료 상태를 얻는 방법

예상 스크립트의 명령에서 종료 상태를 얻는 방법

다음은 명령에 대한 비밀번호를 자동으로 입력하기 위해 작성한 쉘 스크립트입니다 vpnc. 정상적으로 작동할 것으로 예상됩니다. 비밀번호를 입력하면 vpnc가 자동으로 활성화되지만 vpnc명령의 종료 상태를 가져와야 합니다 . 종료 상태를 어떻게 알 수 있나요 vpnc?

VPNC=/bin/vpnc

expect_ACTIVATE=`cat << EOF
set timeout -1
spawn  $VPNC 
expect    :            {send Pass123\r}
expect eof
EOF`

expect -c  "$expect_ACTIVATE"

종료 상태를 얻기 위해 다음을 시도했지만 STATUS정확하지 않습니다.

expect_ACTIVATE=`cat << EOF
set timeout -1
spawn  $VPNC 
expect    :            {send Pass123\r}
STATUS=` echo $? `
expect eof
EOF`

답변1

나는 이것을 추측한다. 나는 그것을 직접 시도하지 않았습니다. 작동하는지 살펴보겠습니다.

expect_ACTIVATE=`cat << EOF`
set timeout -1
spawn  $VPNC 
expect    :            {send Pass123\r}
expect "\\$ "
send "status=`echo $?\r`"
expect eof
EOF

관련 정보