次のコマンドを呼び出してランダムに生成されたパスワードを渡す、非常に単純な rake タスクを作成しようとしています (そして、かなり大きな rake タスクにマージします)。さしあたっては、ランダム生成を偽装して、パスワードを「test」に設定してみましょう。
createuser -SDPRE test
私のタスク用のコードは次のとおりです。
desc "Create a test user with test password"
task "test" do
puts('Creating User')
IO.popen "createuser -SDRPE test", 'w+' do |io|
io.write "test\ntest\n"
io.close_write
end
raise 'createuser failed' unless $?.success?
end
io.write
まだパスワードを入力する必要があるため、機能していないようです。また、破壊されていません。タスクを実行して手動でパスワードを入力すると、そのパスワードを使用してpsql
.
など、かなりの数のバリエーションを試しましたが、それを使用する他の例を見たので、ファイルio.close
を開きます。'w'
'r'
'r+'
これを機能させる方法に少し困惑しています。アイデア/コメント/回答をいただければ幸いです。
編集1:これは、違いが生じる場合に備えて、Debian(Lenny)Linuxシステム上にあります。