Execute shell commands
There are a number of different ways to run shell commands from Ruby.
The exec command
Kernel#exec replaces the current process and runs the command:
exec('ls ~') # Nothing after this command is executed
This might be a bit impractical, so have a look at the other options.
Backticks or %x shortcut
Place your command inside backticks (`) or execute it within %x() and it will return the output of this command:
`ls ~` => "Applications Desktop Documents" %x(ls ~) => "Applications Desktop Documents"
The system command
Use Kernel#system and it will return true (command run successfully), false (unsuccessful) or nil (command execution failed):
system('ls ~') => true
For all of these methods, you can access the PID and exit status of the unix process via the$? variable:
$?.pid => 11988 $?.exitstatus => 0
http://rubyquicktips.com/post/5862861056/execute-shell-commands