が空白文字列に等しいかどうかを確認してみてください。
- hosts: myhosts
tasks:
- name: echo hello
command: echo hello
register: result
- command: somecommand {{ result.stdout }}
when: result.stdout != ""
- command: someothercommand
when: result.stdout == ""
2018 年現在、出力が空かどうかをテストするための推奨される方法は次のとおりです。
when: result.stdout | length > 0
これは、真、null、空の文字列、空のリストをすべて false と評価する Pythonic の方法です。
非推奨のその他の古い代替手段 または機能していない:
result.stdout != ""
ansible-lint チェックにパスしません!result.stdout | bool
ほとんどの文字列が False として評価されるため機能しません。 true を返すのは、stdout がたまたまtrue
のいずれかである場合のみです。 、yes
、...一種の文字列。result.stdout
以前は機能していましたが、現在はトリガーされています:
[DEPRECATION WARNING]:そのままの変数として評価すると、この動作はなくなり、将来、式に |bool を追加する必要があるかもしれません。 CONDITIONAL_BARE_VARS configurationtoggle も参照してください。この機能はバージョン 2.12 で削除されます。非推奨の警告は、deprecation_warnings=False inansible.cfg を設定することで無効にできます。`