Rubyを書いてる時にスクリプト内で、システムコマンドを実行したくなったので調べてみました。
Kernel#system
最も、シンプルな書き方です。
system("ls")
# => true
標準出力にコマンドの実行結果が返却されます。
メソッドの戻り値は以下の通り
-
true
コマンド成功時 -
false
コマンド失敗時 -
nil
コマンドがない時
Kernel#`
コマンドの実行結果を戻り値で欲しい時に使います。
`ls`
# => "Applications\nLibrary\nSystem\nUsers\nVolumes\nbin\ncores\ndev\netc\nhome\nopt\nprivate\nsbin\ntmp\nusr\nvar\n"
戻り値は文字列型で返ってくるみたいですね。
%x||
というエイリアスもあるみたいです。