Module: Nagi::Utility
- Defined in:
- lib/nagi/utility.rb
Class Method Summary collapse
Class Method Details
.execute(command) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/nagi/utility.rb', line 5 def execute(command) command = command.gsub(/'/, "\'") if defined?(Open3.capture2) output, status = Open3.capture2e("/bin/bash -o pipefail -c '#{command}'") else IO.popen("/bin/bash -o pipefail -c '#{command}' 2>&1") do |io| output = io.read end status = $? end raise "Shell failure, '#{output.gsub(/^\/bin\/bash: /, '').strip}'" if status.exitstatus != 0 return output.strip end |