我對ansible(2.x)非常陌生,並且在使用腳本模塊和傳遞帶雙引號和反斜槓的參數時遇到問題。如何在Ansible中避免反斜槓和雙引號(腳本模塊)
假設我們有一組變量{{foo}}
其中包含一個字符串「foo」,我有這樣的任務:
set_fact: arg: \(-name "{{foo}}" \) name: call shell module script: path/somescript.sh "{{arg}}"
我的腳本需要論證的以下結構才能工作:
\(-name "foo" \)
我試了好東西,如:
arg: \(-name \""{{foo}}"\" \) result: \\(-name \"foo\" \\)
arg: '\(-name \""{{foo}}"\" \)' result: \\(-name \"foo\" \\)
arg: \\(-name \""{{foo}}"\" \\) result: \\(-name \"foo\" \\)
是否可以在Ansible中避免反斜槓和雙引號?
單引號是解決問題的關鍵。而且你是對的,角色在傳遞給劇本時最終會逃脫。我無法贊成,因爲我的聲譽太低了,但我的感謝是你的:-) – Vetemi