2016-10-14 13 views
1

としてチルダチルダがされているように私は、私はAnsibleにテンプレートで使用するつもりだし、私の人生のために私は私が欲しいものを達成することができない変数にチルダ文字を入れしようとしていますあらゆる種類の奇妙な方法で拡大されました。Ansible - 変数

random_setting: "{{ some_var }}"を、結果としてこれを取得:random_setting: ~、すなわち純粋チルダ、引用符なし私はそうのようなテンプレートで使用できるように

は何を達成したいことは、私のVARSファイルで定義されたsome_varを持つことです追加されました。

代わりに、私はrandom_setting: '~'(これは私の使用例では受け入れられません)またはrandom_setting: ''(これは悪いことです)のままです。

私の質問は:私はそれがいずれかの引用符に囲まれたり、いくつかのあいまいな方法で展開されることなく、それを使用することができるように、私は、チルダ文字をエスケープしますか?私はすでに~の文字をbase64でエンコードし、| b64decodeフィルタを使用してAnabilitiesでいくつかのトリックを試しましたが、何も動作していないようです。

+0

プレイブックの例を追加してください。 '〜'を 'some_var'に割り当てることは' some_var: '〜 ''と同じくらい簡単です。 –

答えて

1

私はあなたが実際の価値をAnsibleの出力と混同していると思います。

--- 
- hosts: localhost 
    connection: local 
    vars: 
    var1: "~" 
    tasks: 
    - template: src=tilde-template.j2 dest=result.txt 

tilde-template.j2と:あなたはこの実行する場合

{{ var1 }} 

をそしてresult.txtの内容を確認、それだけでチルダが含まれています。

+0

ああ、完全ではないが、近い。私を裏切ったのは、Ansibleのあらゆる場所で変数を引用する習慣で、Jinja2のテンプレートでさえも、それは過労です。だから、それは最終的には些細なことであった。私は正しい方向に向いてくれてありがとう:) – Erathiel