簡體   English   中英

eval命令如何在ansible playbook中工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM