3
環境変数としてシェルコマンドの出力をAnabledに設定したいと思います。bashコマンドのコマンド出力から環境変数を設定する
私はそれを達成するために、次のでした:
- name: Copy content of config.json into variable
shell: /bin/bash -l -c "cat /storage/config.json"
register: copy_config
tags: something
- name: set config
shell: "echo $TEMP_CONFIG"
environment:
TEMP_CONFIG: "{{copy_config}}"
tags: something
をしかし、私は、次のコマンドを実行して行うときに何とかansible実行後、:私の端末で
echo ${TEMP_CONFIG}
をそれが空の結果を提供します。
ご協力いただければ幸いです。
私はポイント2と3に関して質問がありますが、なぜそれを登録してstd.outをエコーアウトする必要がありますか?それの目的は何ですか?私は '環境をやっていると思った: TEMP_CONFIG:" {{copy_config.stdout}} "は.bash_profileファイルにこれを追加しますが、どうして明示的に追加する必要がありますか? – Spaniard89
'Stdout'サブキーを参照する必要があります。なぜなら、これはAnatileがコマンドのstdoutを格納する場所ですからです。いいえ、 '.bash_profile'に何も追加しません。モジュールで指定されたコマンドの環境を設定するだけです。 – techraf