mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 07:08:01 +00:00
779 B
779 B
Check Return Status Of Running A Shell Command
There are many ways to run a shell command in a Ruby context. One of the most common is to place the command inside backticks. It runs the command in a subshell.
The standard output (stdout) from running the command is the return value of
the statement. Ruby also captures details about the previously run command in
the global $? variable.
> `true`
=> ""
> $?.exitstatus
=> 0
> `false`
=> ""
> $?.exitstatus
=> 1
> `echo 'hello' && exit 2`
=> "hello\n"
> $?
=> #<Process::Status: pid 12284 exit 2>
> $?.exitstatus
=> 2
The value captured in $? is a Process::Status object. It can tell us the
exit status of the process with #exitstatus.