2016-09-27 31 views
6

Bir kullanıcının "|" ifadesinden sonra bir sayı eklemeyi önerdiği bu blockinfile issue numaralı telefonu buldum. "block: |" içinde satır, ancak bir sözdizimi hatası verir. Temel olarak, bir dosyada satır bloğu eklemek için blockinfile modülünü kullanmak istiyorum, ancak bloğun dosyada 6 boşluk girmesini istiyorum. İşte Ansible'ın blockinfile'ında blok başlangıcında boşluklar nasıl eklenir?

authc: 
    line0 
     line1 
     line2 
     line3 
     line4 

bekliyoruz ama bunu yapmaz çizgilerin başında

authc: 
line0 
    line1 
    line2 
    line3 
    line4 

ekleme boşluklar olsun görev

- name: Added a block of lines in the file 
    blockinfile: 
    dest: /path/some_file.yml 
    insertafter: 'authc:' 
    block: | 
    line0 
     line1 
     line2 
     line3 
     line4 

bu. Bunu nasıl başarabilirim?

cevap

0

Bunu nasıl yapabilirim? this answer

Genellikle şablon dosyalarını kullanmak daha kurallı var için

bakın.

+0

teşekkürler @techraf. Kludgy, yine de, şık. –

+0

@ChrisF Bu cevaptan memnun değil misiniz? Bu, bir kerelik bir geçici çözümdü, ancak şu anda bir değeri yok. Lütfen diğer cevabı kabul edin. – techraf

12

Sen "Blok Girinti Göstergesi" adlı bir YAML özelliği kullanabilirsiniz: Ne de olsa 2 hakkında hepsi

- name: Added a block of lines in the file 
    blockinfile: 
    dest: /path/some_file.yml 
    insertafter: 'authc:' 
    block: |2 
     line0 
     line1 
     line2 
     line3 
      line4 

|

Referanslar:

+0

[** Şu ​​anda kırılmış **] (https://groups.google.com/forum/#!topic/ansible-project/mmXvhTh6Omo) "2.1" ve en az "2.3.1.0" olan Ansible sürümünden beri –

+1

A çift ​​şeyler, ilk önce bu doğru cevap olmalı! İkincisi, bu [** kırılmadı **] (https://github.com/ansible/ansible/issues/23777) ama doğru bir şekilde gösterdiği gibi bloğun yorumlanması "Blok Girinti Göstergesi" de başlar. Cevaptaki koddaki ilk satırın 'block: | 2' satırının altında dört boşluk olduğuna dikkat edin. Bu, 2 boşluktan sonra (her satırda) başlangıçlar eklemek için aşağıdaki bloğun anlamı olarak yorumlanır; bu, dosyanın, yerleştirildiğinde ilk satırdan önce 2 boşluk içermesiyle sonuçlanır. – darkwing