現在は2つのコマンドがあり、build
手動で実行し、出力を直接目で分析し、出力で見つかった値を引数として使用します。プロセスは次のとおりです。deploy
build
deploy
$ build
==> amazon-ebs: amazon-ebs output will be in this color.
... hundreds of lines of output ...
==> Builds finished. The artifacts of successful builds are:
--> amazon-ebs: AMIs were created:
us-east-1: ami-19601070
$ deploy ami-19601070
... some more output ...
(build
実際には包装機、精通した人のために)
これら2つのステップを1つのスクリプトにまとめたいと思います。おおよその概要には以下が含まれます。
- 走る
build
0
終了ステータスが次のようになり、出力に「AMIs was Created」という文字列が含まれていることを確認し、それ以外の場合は中止します。ami-19601070
出力()からAMI番号を抽出する- 走る
deploy ami-19601070
可能であれば、シェルスクリプトを使用してすべてを一緒に接続するための最良の方法を見つけようとしていますが、理想的には、すべてのstdout / stderrメッセージを端末にストリーミングしながら、2つの別々のパターンの出力をgrepする方法に閉じ込められています。コマンドが実行されます。私はこれをシェルスクリプトで行うという考えを捨て、代わりにそれを実行するために小さなPythonスクリプトを書く必要があるかどうか疑問に思います。
ベストアンサー1
仕事のようです。tee
:
build | tee /some/file
ami_name=$(do_something_to /some/file)
deploy "$ami_name"