9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/linux_admin/common.rb', line 9
def run(cmd, options = {})
params = options[:params] || options[:parameters]
begin
launch_params = {}
launch_params[:chdir] = options[:chdir] if options[:chdir]
out = launch(build_cmd(cmd, params), launch_params)
if options[:return_output] && exitstatus == 0
out
elsif options[:return_exitstatus] || exitstatus == 0
exitstatus
else
raise CommandError, "#{build_cmd(cmd, params)}: exit code: #{exitstatus}"
end
rescue
return nil if options[:return_exitstatus]
raise
ensure
self.exitstatus = nil
end
end
|