私は非常に新しくて(2.x)、スクリプトモジュールを使用して二重引用符とバックスラッシュでパラメータを渡すのに問題があります。Ansible(スクリプトモジュール)でバックスラッシュと二重引用符をエスケープする方法
我々は、設定された変数の文字列「foo」を含んでいる{{foo}}
を持っていると仮定すると、私が持っているこのようなタスク:
set_fact: arg: \(-name "{{foo}}" \) name: call shell module script: path/somescript.sh "{{arg}}"
私のスクリプトが動作するためには、引数の次のような構造を必要とします:
arg: \(-name \""{{foo}}"\" \) result: \\(-name \"foo\" \\)
arg: '\(-name \""{{foo}}"\" \)' result: \\(-name \"foo\" \\)
arg: \\(-name \""{{foo}}"\" \\) result: \\(-name \"foo\" \\)
:
\(-name "foo" \)
は、私は、次のようないくつかのことを試してみました
Ansibleでバックスラッシュと二重引用符をエスケープすることはできますか?
一重引用符が解決策の鍵でした。あなたが正しいとすれば、文字は最終的にスクリプトに渡されるときにエスケープされます。私はあまりにも評判が低いので、私はupvoteすることはできませんが、私の感謝はあなたです:-) – Vetemi