5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/kubes/util/sh.rb', line 5
def sh(command, options={})
mute = options[:mute]
show_command = options[:show_command].nil? ? !mute : options[:show_command]
exit_on_fail = options[:exit_on_fail].nil? ? true : options[:exit_on_fail]
if logger.level <= Logger::DEBUG
mute = false
show_command = true
end
env = options[:env] || {}
env.stringify_keys!
command = "#{command}"
if mute && !command.include?("2>&1")
command = "#{command} > /dev/null 2>&1"
end
logger.info "=> #{command}" if show_command
success = system(env, command)
unless success
logger.error "ERROR: running #{command}".color(:red) if exit_on_fail
exit $?.exitstatus if exit_on_fail
end
success
end
|