0

次のコードでシステムコマンドが存在するかどうかを確認しようとしています:

require 'open3'

Open3.popen3('non-existing command') do |stdin, stdout, stderr, thread|
  exit_error = stderr.readlines
  if exit_error["No such file or directory"]
    puts "command not found"
  end
end

ただし、次のエラー メッセージで単にクラッシュし、続行しません。

/home/pavel/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/open3.rb:211:in `spawn': No such file or directory - non-existing (Errno::ENOENT)

なぜ、どのように修正するのですか?

4

1 に答える 1