Ruby プログラム内からシェル コマンドを呼び出すにはどうすればよいですか?これらのコマンドからの出力を Ruby に戻すにはどうすればよいでしょうか?
この説明は、私の友人からコメントされた Ruby スクリプトに基づいています。スクリプトを改善したい場合は、リンクから自由に更新してください。
まず、Ruby がシェルを呼び出すとき、通常は Bash ではなく /bin/sh を呼び出すことに注意してください。一部の Bash 構文は、すべてのシステムの /bin/sh でサポートされているわけではありません。
シェル スクリプトを実行する方法は次のとおりです。
cmd = "echo 'hi'" # Sample string that can be used
追加のアドバイスをいくつか示します。 0 ( と同じ) は、バックティック、system() または %x{} を使用する場合、システムが最後に実行したコマンドのステータスにアクセスします。 その後、exitstatus プロパティと pid プロパティにアクセスできるようになります。
$?.exitstatus
詳細については、以下を参照してください。