2016-04-07 10 views
0

私は非常に新しいruby on railです。私は非常に簡単な質問があります。 私はRuby on Railsをテキストフィールドからのユーザー入力を読み取ることができていますruby​​で書かれたテキストの中のユーザ入力を読み込み、その値をシェルスクリプトコマンドに渡す方法

@user = params[:user] 

私は、私は多くのことをしようとしたシェルスクリプト にこの値を引数として渡す必要がありますが、何も

を働きません
run_command "./file.sh #{@user}" 

%x(./file.sh #{@user}) 

スクリプトが受信 "{ユーザー="

何か助けていただければ幸いです!

+0

どのような種類のコマンドを実行したいですか? – 7urkm3n

答えて

1

まず、コマンドラインに渡すパラメータをエスケープしてください。あなたはこの方法でコマンドラインインジェクションを介して簡単に攻撃されるかもしれません。代わりにこれを試してみてください:

system "/path/to/file.sh #{@user.shellescape}" 

また、あなたは出力を追跡する方法に応じて、execを試してみたいことがあります。両方の詳細については、http://ruby-doc.org/core-2.3.0/Kernel.htmlを参照してください。

関連する問題