我试图将
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