Tips to call shell from Ruby
%Q, %q
rubyからシェルを呼ぶときに、バッククォートやsystemコマンドを使うと思いますが、%Q(ダブルクォートと同じで変数展開する)、%q(シングルクォートと同じで変数展開しない)が便利ですね。
見栄えがよくなる。
そういえば、シェルのexit status($?)ってrubyで取るのどうやるんだろう。
#!/usr/bin/env ruby ENV["RAILS_ENV"] = 'production' RAILS_ROOT = "/home/rails/abc" DATA_DIR = "/var/abc" system('rm -f /tmp/xxx.log') FILES.each do |file| system(%Q! time ruby #{RAILS_ROOT}/script/batch/xxx.rb \ #{DATA_DIR}/#{file} >> /tmp/xxx.log 2>&1; echo "exit status: $?"; !) end
Tipsじゃなくて、Tipになってしまった(笑)