gpt4 book ai didi

Ansible blockinfile 如果有另一个 block 则替换而不是插入新的

转载 作者:行者123 更新时间:2023-12-02 02:05:14 24 4
gpt4 key购买 nike

我尝试在同一个文件中插入 2 个 ansible block ,但 Ansible 将第一个 block 替换为第二个 block 。

如果我插入接下来的 2 个 block :

- name: Setup java environment
blockinfile:
dest: /home/{{ user }}/.bashrc
block: |
#Java path#
JAVA_HOME={{ java_home }}/

- name: Setup hadoop environment
blockinfile:
dest: /home/{{ user }}/.bashrc
block: |
#Hadooppath#
HADOOP_HOME={{ hadoop_home }}/

文件中只有第二个 block ,因为它替换了第一个 block 。

最佳答案

要使用 Ansible 在同一文件中插入 2 个 block ,并且不要用第二个替换第一个 block :

更改 Ansible block 文件标记:

blockinfile_task_1:
marker: "# {mark} ANSIBLE MANAGED BLOCK insertion 1"
blockinfile_task_2:
marker: "# {mark} ANSIBLE MANAGED BLOCK insertion 2"

对于前面的示例,剧本将是:

- name: Setup java environment
blockinfile:
dest: /home/{{ user }}/.bashrc
marker: "# {mark} ANSIBLE MANAGED BLOCK Java"
block: |
#Java path#
JAVA_HOME={{ java_home }}/

- name: Setup hadoop environment
blockinfile:
dest: /home/{{ user }}/.bashrc
marker: "# {mark} ANSIBLE MANAGED BLOCK Hadoop"
block: |
#Hadooppath#
HADOOP_HOME={{ hadoop_home }}/

关于Ansible blockinfile 如果有另一个 block 则替换而不是插入新的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48223808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com