予測スクリプトのコマンドから終了ステータスを取得する方法

予測スクリプトのコマンドから終了ステータスを取得する方法

以下は、コマンドのパスワードを自動的に入力するために作成したシェルスクリプトです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

関連情報