2015-08-27 8 views
5

कोई मल्टीलाइन तारों को कैसे निर्दिष्ट करेगा जिसमें कुछ पंक्तियों पर अग्रणी स्थान हों?प्रमुख रिक्त स्थान के साथ मल्टीलाइन तार

अगर मैं के रूप में

multiline_str: | 
    foo 
     bar 
     baz 

और फिर एक चर को परिभाषित

- name: write multiline string 
    copy: content="{{ multiline_str }}" dest="/path/to/file" 

तब लक्ष्य फ़ाइल की सामग्री का उपयोग कर एक फाइल करने के लिए इसे लिखने

foo 
bar 
baz 

है क्या चाल यहाँ है ?

+0

यह प्रासंगिक है? http://stackoverflow.com/questions/715818/ruby-write-escaped-string-to-yaml –

+0

@ हाइली अनियमित मैं ऐसा नहीं सोचता – zerkms

उत्तर

11

इसे आजमाएं।

- name: write multiline string 
    copy: 
    content: "{{ multiline_str }}" 
    dest: /path/to/file 
+0

यह आश्चर्यजनक है, धन्यवाद। यह व्यवहार को इतना क्यों बदलता है? – zerkms

+2

मुझे यकीन नहीं है, लेकिन आपको अक्सर एक स्ट्रिंग में Ansible पार्सिंग उद्धृत कुंजी = मानों के साथ परेशानी होगी, और आप एक YAML संग्रह के रूप में पैरा को पास करके इसे से बच सकते हैं। लेखन कार्यों की इस शैली को प्रोत्साहित करने के लिए एक संक्षिप्त उदाहरण प्रदान करने के लिए धन्यवाद। आप इस विषय पर [अतीत में एक चर्चा] (https://groups.google.com/d/msg/ansible-project/GfJBkzuTTNM/iUkzUKPmBnAJ) भी देख सकते हैं। – yaegashi

1

उसी समस्या को local_action के साथ जोड़ा गया था।

यह काम करता है:

- name: write multiline string 
    local_action: 
    module: copy 
    content: "{{ multiline_str }}" 
    dest: /path/to/file 
1

आप \ N (newline) उपयोग करने के लिए सक्षम हो सकता है और \ s (अंतरिक्ष) \ t (टैब)

संबंधित मुद्दे