2

ユーザーが入力するシェルコマンドをいくつか実行する必要があります。安全だと思われる方法を 1 つ見つけました: system *%W(ls #{file}) [here]

そのコマンドの出力を取得する必要があるため、単に使用することはできませんsystem。バッククォート``または forのコマンドをサニタイズする方法はあり%x[]ますか?

4

2 に答える 2

3

IO::popenの代わりに必要ですsystem。文字列の配列を渡して、シェルなしでコマンドを呼び出すこともできreadます。また、結果のIOオブジェクトから実行することもできます。

stderrも読みたい場合はopen3、IOの代わりにモジュールを使用してください。

于 2011-03-20T13:27:27.147 に答える
0

Ruby がサポートしていない、実行しているシェル コマンドの種類は何ですか? ファイルを一覧表示する場合は、Dirを使用します

于 2011-03-20T13:09:27.723 に答える