これを含む 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」呼び出しの出力が標準出力ではなく標準エラー出力になるためです。