ansible playbook在bash脚本中被调用时,直接在shell上执行不同的操作

ansible playbook在bash脚本中被调用时,直接在shell上执行不同的操作,bash,ansible,Bash,Ansible,当我使用remote.sh执行ansible playbook时,出现以下错误: [WARNING]: Could not match supplied host pattern, ignoring: "monitoring" ERROR! Specified hosts and/or --limit does not match any hosts 当我直接执行它时,它会按预期工作 ansible-playbook --inventory /ansible/remote_

当我使用
remote.sh
执行ansible playbook时,出现以下错误:

[WARNING]: Could not match supplied host pattern, ignoring: "monitoring"
ERROR! Specified hosts and/or --limit does not match any hosts
当我直接执行它时,它会按预期工作

ansible-playbook --inventory /ansible/remote_hosts.yml --ask-vault-pass --extra-vars "@/ansible/vars/vault.yml" --limit "monitoring" /ansible/playbooks/playbook.yml
我不明白有什么不同。我需要检查什么才能使脚本正常工作

我的设置如下:

remote.sh

#/bin/bash-e
limit=“--limit\”监控“
函数playbookRemote(){
如果[[-z${limit}]];则
限制=“”
fi
如果[[-z${tags}]];则
标签=“”
fi
echo“ansible playbook--inventory$(pwd)/remote_hosts.yml--ask vault pass--extra vars\”@$(pwd)/vars/vault.yml\“${limit}$(pwd)/playbooks/playbook.yml”
ansible剧本\
--库存$(pwd)/远程主机.yml\
--询问保险库通行证\
--额外变量“@$(pwd)/vars/vault.yml”\
${limit}\
${tags}\
$(pwd)/playbooks/playbook.yml
}
playbookRemote
远程主机.yml

---
全部:
儿童:
公司:
主持人:
监测:
ansible_主机:192.168.0.159
ansible_用户:corpadmin
ansible\u ssh\u private\u key\u文件:~/.ssh/id\u rsa
ansible_密码:“{{monitoring_password}}”
答案是:真的
ansible_been_pass:{{monitoring_password}}
playbook.yml

---
-主持人:公司
收集事实:真实
角色:
-php
-geerlingguy.mysql
-马里亚布
-阿帕奇
-阿帕奇
-格林盖伊。瑟伯特
vault.yml

---
监控密码:。。。。

这实际上是您的
bash
脚本中的问题,而不是ansible。
像这样(
limit=“--limit\”monitoring\”
),引号是
limit
的一部分,它们不会被删除,因此ansible接收到它不知道的
“monitoring”
,它知道
监视
删除那些引号,它就会工作

#/bin/bash-e
limit=“--限制监控”
函数playbookRemote(){
如果[[-z${limit}]];则
限制=“”
fi
如果[[-z${tags}]];则
标签=“”
fi
echo“ansible playbook--inventory$(pwd)/remote_hosts.yml--ask vault pass--extra vars\”@$(pwd)/vars/vault.yml\“${limit}$(pwd)/playbooks/playbook.yml”
ansible剧本\
--库存$(pwd)/远程主机.yml\
--询问保险库通行证\
--额外变量“@$(pwd)/vars/vault.yml”\
${limit}\
${tags}\
$(pwd)/playbooks/playbook.yml
}
playbookRemote

你说得对。删除引号修复了问题。谢谢你的暗示。