networkctl/src/do.cr

34 lines
734 B
Crystal

class Do < Process
class_property simulation = false
def self.run(cmd : String, params = [] of String)
if @@simulation
puts "simulation, do: #{cmd} #{params.join(" ")}"
Process::Status.new 0
else
Process.run cmd, params
end
end
def self.run(cmd : String, params = [] of String, &block : Process -> _)
if @@simulation
puts "simulation, do: #{cmd} #{params.join(" ")}"
Process::Status.new 0
else
Process.run cmd, params, &block
end
end
def self.runsh(cmd : String)
if @@simulation
puts "simulation, do in a shell : #{cmd}"
Process::Status.new 0
else
r = Process.run "sh", ["-c", cmd],
output: Process::Redirect::Inherit,
error: Process::Redirect::Inherit
end
end
end