Ruby での system() 呼び出しの出力の取得
概要
Ruby で Kernel#system を使用してコマンドを呼び出した場合、その出力はどのように取得すればよいですか?
system("ls")
解決策
カオスの答えを少し拡張して明確にしたいと思います。
コマンドをバッククォートで囲んだ場合は、system() を (明示的に) 呼び出す必要はまったくありません。バックティックはコマンドを実行し、出力を文字列として返します。次に、次のように値を変数に割り当てることができます。
output = `ls`
p output
または
printf output # escapes newline chars