2016-03-24 11 views
1

私が探しているのは、対話型スクリプトを実行し、ユーザーに入力を求めることです。入力フォーマットは、プログラムが呼び出される度に異なる場合があります。したがって、呼び出し元のスクリプトから元のプロンプトが必要で、stdinを呼び出し先にリダイレクトします。PHPのpassthru()のRuby代替ですか?

現在のところ、PHPのpassthru()機能が私の必要性を満たしていることがわかりました。しかし、passthru()機能を代替する方法や実装する方法はありますか?自分自身を説明する

UPDATE

例(実際の状況のように単純):

puts `sudo apt-get -y upgrade` 

sudoコマンドは、パスワードの入力をユーザーに求めることができます。 sudoの場合、入力形式は変わらず、popenを使用できます。しかし、呼び出されるコマンドの入力形式が非常に複雑で、時々刻々と変わる場合はどうでしょうか?

+0

あなたはlinuxコマンドを実行して、結果をルビに戻したいのですか? –

+0

@VitaliMogilevskyあなたの返事のためのThx。厳密に言うと、私はコマンドを実行したいが、Rubyでは出力を必要としない。しかし、私はユーザーの入力を取得し、呼び出されているコマンドにそれらを渡す必要があります。 – xiGUAwanOU

+0

あなたは何をしようとしているのか100%確信していないので、param = getsを設定してユーザーの入力を読み取ってから、任意の場所でparamを使用できます。あなたがコマンドでそれを使いたいのであれば、単に普通の文字列として使用してください。 –

答えて

1

あなたはPTY.spawnであなたが望むものを達成することができます。 this answerをご覧ください。

+0

ありがとう!私が探しているものとは少し異なりますが、それでも今のところ私のために働きます。 – xiGUAwanOU

関連する問題