expect について教えてください。

expect の使い方を覚えるため、
初めてssh接続するホストへの応答をするスクリプトを書いています。
初めてsshすると、そのホストからは、

The authenticity of host 'host01 (***)' can't be established.
RSA key fingerprint is *******.
Are you sure you want to continue connecting (yes/no)?

と返ってくるので、これにyesと返したいと思っています。
以下が私が書いたスクリプトですが、うまく行きません。
どこが悪いのでしょうか?

#!/bin/sh
hosts=(host{01,02,03})
do="hostname > test"

for host in "${hosts[@]}"
do
expect -c "
spawn ssh -i /home/user/.ssh/id_rsa $host $do
expect \"(yes/no)?\ \"
send \"yes\r\"
"
done