programs/system_redirects_no_parens.rb
tests/_examples/programs/system_redirects_no_parens.rb in the metorex repository.
require "tmpdir"
Dir.mktmpdir do |directory|
log = File.join directory, "make.out"
File.open log, "w" do |output|
system "echo", "compiling rates", out: output, err: output
system "echo linking rates >&2", out: output, err: output
Dir.chdir(directory) { system "echo", "installed", out: output }
end
puts File.read(log)
end
reader, writer = IO.pipe
p system("echo", "piped", out: writer)
writer.close
p reader.read
p system("false", out: File::NULL)
p $?.exitstatus
p system("pwd", chdir: "/", out: File::NULL)
begin
system "false", exception: true, out: File::NULL
rescue RuntimeError => error
p error.class
end
Output:
compiling rates
linking rates
installed
true
"piped\n"
false
1
true
RuntimeError