私は、ターゲットLinuxホストから環境変数を読むことを試みています。ドキュメントごとに以下の作業をすべて試しましたが、結果はありません。可能な - リモートホストからの環境変数を読む
- name: Test1
debug: msg="{{ ansible_env.BULK }}"
delegate_to: "{{ target_host }}"
- name: Test2
shell: echo $BULK
delegate_to: "{{ target_host }}"
register: foo
- debug: msg="{{ foo.stdout }}"
- name: Test3
debug: msg="{{ lookup('env','BULK')}} is an environment variable"
delegate_to: "{{ target_host }}"
環境変数「BULKは」私は脚本を実行していますので、私はその帰国何を負いませんローカルホストに設定されていません。 BULKではなく、常に利用可能な「HOME」を使用すると、結果が返されます。私がtarget_hostにSSHすれば、問題なくecho $BULK
を実行できます。
リモートホストから環境変数を取得する方法は?
なぜすべてのタスクで 'delegate_to'を使用しますか? – techraf
@techraf:このyamlファイルには複数のタスクがあります。いくつかのタスクはローカルホストで実行され、targethostではほとんど実行されません。これはテストのためのもので、3つのタスクはすべて同じ操作を実行します。私が環境変数を読むことができるなら、私は他の2つを削除します。 –