Rubyプログラムからコマンドを起動するには system 関数を使うのが簡単です.mv など,起動したいコマンドが必ず存在するであろう場合は直接 system 関数で呼び出せばいいですが,コマンドがあるかどうが微妙な場合は,まず存在するかどうかを調べて条件分岐させるのがいいでしょう. たとえば,Rubyスクリプト中でpng画像をEPSファイルに変換したいとします.convert コマンドはたいてい存在しているでしょうが,bmeps コマンドはシステムにあるかどうか分かりません.この場合 - bmeps コマンドが存在すれば bmeps を実行 - 存在しなければ convert を実行 という条件分岐になります. #!/usr/bin/env ruby cmd = ARGV.shift if open("| which #{cmd} 2>/dev/null"){|f| f.gets} puts "exist" else puts "not exist" end