expectを使う

昨日のApacheの回復プロシージャを作る上で、apachectl コマンド実行時にssl鍵のパスフレーズを入れる必要がありました。
一度ヒアドキュメントで書いてみたんですが、ダメみたい。そこで久しぶりにexpectを使ってスクリプトを書きました。

こんな感じ。

#!/usr/local/bin/expect

set timeout 20
spawn /usr/local/apache2/bin/apachectl restart
expect "Enter pass phrase:"
send "password\n"
interact