我有一本剧本:
---
- name: Preparing the diff file (show | compare)
hosts: 127.0.0.1
gather_facts: no
connection: local
tasks:
- name: "Creating a diff file"
shell: "{{config_dir}}/diff.sh"
一个剧本:
#!/bin/sh
#find . -size +0 -name diff -printf "\n%p\n" -exec cat {} \; > $HOME/diff.all
#find . -size +0 -name diff -printf "\n%p\n" -exec cat {} \; > mytest.beep
more */diff | less > doop
任务启动脚本,脚本抓取所有名为" diff"的文件。并将其内容推送到test.txt。
当我在shell中运行此命令时,它可以工作。
当我运行此脚本时,它可以正常工作。
当我运行此playbook时,它会创建text.txt,但文件始终为空。
我尝试了具有相同目标的不同脚本。
我尝试通过Ansible而不是脚本内部添加文件创建:
tasks:
- name: "Creating a diff file"
shell: "{{config_dir}}/diff.sh > test.txt" (Also tried with >>)
我尝试添加了:true
每次,我的playbook成功运行,test.txt都已创建,但它始终为空。
我错过了什么?
谢谢,
答案 0 :(得分:1)
脚本在错误的目录中运行。通过在ansible-playbook命令中添加-v可以很容易地进行调试。