微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bash – ansible:远程机器上的文件是否有类似于

我试图将 these行转换成可以放入一个可以嵌入的剧本的东西:
# Install Prezto files
shopt -s extglob
shopt -s nullglob
files=( "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/!(README.md) )
for rcfile in "${files[@]}"; do
    [[ -f $rcfile ]] && ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile##*/}"
done

到目前为止,我已经得到以下几点:

- name: Link Prezto files
  file: src={{ item }} dest=~ state=link
  with_fileglob:
    - ~/.zprezto/runcoms/z*

我知道它是不一样的,但它会选择相同的文件:除了在主机上的___ggggob外观,我希望它在远程机器上看.

有没有办法做到这一点,还是应该使用一个shell脚本?

Bruce P的解决方案可以工作,但它需要一个添加文件,并且有点凌乱.以下是一个纯粹的可解决解决方案.

一个任务抓取文件名列表,并将其存储在files_to_copy中.第二个任务将每个文件名附加到您提供的路径并创建符号链接.

- name: grab file list
  shell: ls /path/to/src
  register: files_to_copy
- name: create symbolic links
  file:
    src: "/path/to/src/{{ item }}"
    dest: "path/to/dest/{{ item }}"
    state: link
  with_items: files_to_copy.stdout_lines

原文地址:https://www.jb51.cc/bash/385999.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐