Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ansible playbook中的条件语句,用于根据命令中传递的变量将文件复制到两个不同的位置_Ansible - Fatal编程技术网

Ansible playbook中的条件语句,用于根据命令中传递的变量将文件复制到两个不同的位置

Ansible playbook中的条件语句,用于根据命令中传递的变量将文件复制到两个不同的位置,ansible,Ansible,我想根据在命令行参数中传递的变量将文件复制到一个位置(有两个不同的位置)。 我正在使用复制模块进行复制 - name: Copy the file copy: src: /mydocuments/folder1/file.txt dest: /mypictures/folder1 owner: myuser group: mygroup mode: 0755 remote_src: true 基本上

我想根据在命令行参数中传递的变量将文件复制到一个位置(有两个不同的位置)。 我正在使用复制模块进行复制

  - name: Copy the file
    copy:
       src: /mydocuments/folder1/file.txt
       dest: /mypictures/folder1
       owner: myuser
       group: mygroup
       mode: 0755
       remote_src: true

基本上,当命令中传递的变量为“mypictures”时,它应该将file.txt复制到dest:/mypictures/folder1,如果变量为“myfolder”,它应该复制到dest:/myfolder1/notes

假设传递的变量为
myvar
,设置目标如下:

- name: set array
  set_fact:
    dest:
      myfolder: /myfolder1/notes
      mypictures: /mypictures/folder1

- name: Copy the file
  copy:
    src: /mydocuments/folder1/file.txt
    dest: "{{ dest[myvar] }}"
    owner: myuser
   group: mygroup
   mode: 0755
   remote_src: true

谢谢你,杰克。我要试一试。