bash スクリプトのオプション ステートメント内の Expect スクリプト

bash スクリプトのオプション ステートメント内の Expect スクリプト

使用方法:CentOS 6.2 BASH shell

私の脚本は次のようなものだ

#!/bin/bash
INSTALL_PATH="Enter install path"
CR="\n"
/bin/su root -c "/usr/bin/expect << EOF
spawn name.run
expect $INSTALL_PATH
send $CR
EOF; ... do more stuff..."

name.run ファイルで「アンインストールしますか?」と尋ねられることがあります。最初の送信後にこれをオプションの引数として送信するにはどうすればよいでしょうか?

答え1

expectコマンド内に複数のパターンを入れることができます

spawn name.run
expect $INSTALL_PATH
send \r
expect {
  {Would you like to uninstall?} {
    send yes\r
    exp_continue 
  }
  eof 
}

「Enter キーを押す」には「\r」を送信することに注意してください。

また、ヒアドキュメントの終端語しなければならない行に単独で出現します。その後に「; more stuff」を続けることはできません。

関連情報