根据这个ansible脚本,只有当变量stop_app的值为'app1'时,第一个条件的shell脚本才会执行并将结果存储在shell_result1中。同样地,只有当变量stop_app的值为'app2'时,第二个条件的shell脚本才会执行并将结果存储在shell_result中。因此,两个条件的shell脚本不会同时执行。

- hosts: app_hosts
  remote_user: root
  gather_facts: false
  tasks:
    - name: 'stop app1'
      ansible.builtin.shell: |
        cd /opt/app1/bin
        pwd
        sh shutdown.sh
      register: shell_result1
    - debug:
        var: shell_result1.stdout_lines
      when: stop_app == 'app1'

    - name: 'stop app2'
      ansible.builtin.shell: |
        cd /opt/app2/bin
        pwd
        sh shutdown.sh
      register: shell_result
    - debug:
        var: shell_result.stdout_lines
      when: stop_app == 'app2'
Ansible脚本条件执行:两个条件的shell脚本会同时执行吗?

原文地址: https://www.cveoy.top/t/topic/lOnv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录