Text-Processing
使用 ansible 將數據插入配置文件的特定部分
我在使用 ansible 時遇到了一個特殊的問題。這個問題非常奇怪和危險。我編寫了一個程式碼來在文件的特定部分中插入數據,即
[database]
在 say之後添加行/etc/cinder/cinder.conf
。問題是我注意到有時它會在 tag 之後正確添加內容
[database]
,但有時它會因為看到# put ur infore here for [database]
文件中的一行而感到困惑,並在它下面添加我們需要的行而不是它實際應該放置的位置。- name: Adding Entries in "/etc/cinder/cinder.conf" lineinfile: dest: "/etc/cinder/cinder.conf" insertafter: "{{ item.inserts }}" state: present line: "{{ item.lines }}" with_items: - { inserts: '\[database\]', lines: 'rpc_backend = rabbit' }
這種情況在生產環境中是相當危險的!如何正確添加數據?
為避免在註釋中匹配,請將您的正則表達式錨定到行首:
- { inserts: '^\[database\]', lines: 'rpc_backend = rabbit' }