サーバーの初期設定を自動的に行おうと思い、expectを使用してみました。
しかし、思ったとおりに動作してくれません。

PTY.spawn実行後のexpectが一回しか動作してくれないのです。

書いてみたコードです。
  1 require 'pty'
  2 require 'expect'
  3
  4 $expect_verbose=true
  5
  6 PTY.spawn("ssh test0@localhost") do |r,w|
  7   w.sync = true
  8   r.expect(/yes\/no/) { w.puts "yes" }
  9   r.expect(/test0@localhost's password/) { w.puts "test0" }
 10   r.expect(/[$#]/) { w.puts "ls -la" }
 11   r.expect(/[$#]/) { w.puts "exit" }
 12 end

8行目までは実行されますが、9行目が実行されずに止まってしまいます。
出力される文字列を見る限り、文字列がマッチしていないことはないと思います。

9行目を実行させるにはどうすればよいでしょうか。