如何从expect脚本中的命令获取退出状态

如何从expect脚本中的命令获取退出状态

下面是我编写的一个 shell 脚本,用于自动输入命令的密码vpnc。 Expect 工作正常,输入密码后 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

相关内容