3

これを含む ruby​​_block を含む Chef レシピがあります。

myoutput = `keytool -import -alias #{al} -keystore #{ks} -storepass #{pw} -file #{ca} -trustcacerts -noprompt`
puts ":" + myoutput + ":"
Chef::Log.error('Error installing CA Cert') unless myoutput.include? "Certificate was added to keystore"

(すべての変数が適切に設定されています。)関連する出力は次のとおりです。

Certificate was added to keystore
::
[2013-07-03T21:26:41-07:00] ERROR: Error installing CA Cert

::. に注意してください。myoutput が正しく設定されていないのはなぜですか? そのコマンドを手動で実行すると、期待どおりの出力が得られます。バッククォートのコマンドは想定どおりに実行されるため、実行されていることはわかっていますが、何らかの理由でコマンドからの標準出力が myoutput に割り当てられず、その理由がわかりません。何か案は?ありがとう -- デイブ

編集:理由は、この特定の「keytool」呼び出しの出力が標準出力ではなく標準エラー出力になるためです。

4

2 に答える 2