[英]How can I call python directly inside Ansible playbook, in a for loop?
[英]How can eval command work in ansible playbook
我想通過ansible playbook來評估命令。 這是劇本。
- name: enable ssh-agent
command: eval $(ssh-agent)
我試過這本劇本。
$ ansible-playbook -i hosts site.yml
但我得到了這個錯誤。
failed: [host] => {"cmd": "eval", "failed": true, "rc": 2}
msg: [Errno 2] No such file or directory
FATAL: all hosts have already failed -- aborting
eval命令如何在ansible playbook中工作? 提前致謝。
command
模塊期望可執行文件作為參數。
eval $(ssh-agent)
是一個unix shell
可以理解為不可回復的表達式。
正如tedder所說,我不明白你為什么要設置ssh-agent,但如果你這樣做,我建議你試試shell
模塊而不是command
。 希望你以某種方式將ssh-agent
設置為適當的值。
# Just for debugging.
- name: enable ssh-agent
shell: echo "ssh-agent = $(ssh-agent)"
- name: enable ssh-agent
shell: eval $(ssh-agent)
在這種情況下,ansible會將整個字符串傳遞給shell,shell會對其進行評估。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.