通常、インタラクティブモードでを入力すると表示され、exit
bashDisconnected from Virtual Machine 'pick0:LINUX'
シェルプロンプトに戻ります。
Disconnected from Virtual Machine 'pick0:LINUX'
私の予想されるスクリプトを使用すると、コマンドの実行後に中断されましたexit
。これは私の予想されるスクリプトです。
#!/usr/bin/expect -f
set timeout -1
spawn /usr/bin/d3 -0
expect "Options: F)ile only, A)BS only, X) eXecute. Q)uit = "
send -- "f"
expect "Are you sure that the restore media has been verified? Confirm (y/n)"
send -- "y"
expect "All data on disk will be erased. Confirm (y/n)"
send -- "y"
expect "Enter a unit number from the above list: "
send -- "1\r"
expect "Do you wish to disable file reallocation (y/<n>)? "
send -- "n\r"
expect "Load volume #1 and press <Enter>"
send -- "\r"
expect "Restore from incremental save tape (y/n)?"
send -- "n\r"
expect "Restore from transaction log tape (y/n)"
send -- "n\r"
expect "Enter your user id: "
send -- "dm\r"
expect "master dictionary: "
send -- "dm\r"
send -- "exit\r"
expect eof
答え1
確かに、終了を送信するだけでは生成されたプロセスを終了するのに十分ではありません。 「仮想マシンとの接続を切断」を予想してから、eofを待たずに予想スクリプトを終了できます。またはeofを待つ前に、タイムアウト値を無限の値に変更してください。