how to execute-shell-commands by ruby

 

 

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\nDesktop\nDocuments"
%x(ls ~)
=> "Applications\nDesktop\nDocuments"

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:

posted @ 2014-06-11 21:00  冰凌花花~  阅读(274)  评论(0编辑  收藏  举报