簡體   English   中英

使用 Ansible lineinfile 模塊添加“#”符號的問題

[英]Issue with adding a “#” sign using Ansible lineinfile module

我正在嘗試在 /etc/auto.master 文件下的一行前面添加一個 # 符號,如下所示

名稱:設置 auto.master 步驟 1

    lineinfile:
     path: /etc/auto.master
     regexp: '^+auto.master'
     line: '^#+auto.master'

但是,當我運行我的劇本時,這就是我得到的

失敗:=> {“已更改”,錯誤:“module_stderr”。 “與 ifmliae1p.bbh.com 的共享連接已關閉,\r\n”:“module_stdout”:“回溯(最近一次調用最后一次)。\r\n 5.94-16341-164301267793697/AnsiballZ_lineinfile,py\”,第 102 行。 \r\n _ansiballz_main()\r\n 文件\"/root/.ansible/tmp/ansible-tmp-1590180565,94-16341-164301267793697/Ansibal\r\n invoke_module(zipped_mod, temp_path.ANSIBALLZ_PARAMS)\r\ n 文件\"/root/.ansible/tmp/ansible-tmp-1590180565.94-16341-164301267793697/AnsiballZ_lineinfile,py\", 第 40 行 ininvokele.modules.files,lineinfile', init_globals=None, run_name=' main ' , alter_sys=True)\r\n 文件 \"/usr/lib64/python2.7/runpy.py\", 第 176 行, 在 run_module\r\n fname, loader, pkg_name)\ne 82, 在 _run_module_code\r \n mod_name、mod_fname、mod_loader、pkg_name)\r\n 文件 \"/usr/lib64/python2.7/runpy.py\",第 72 行,_run_code\r\n run_globals 中的執行代碼\r\n 文件_lineinfile_payload.zip/ansible/modules/files/lineinfile.py\",第 573 行,在 \r\n 文件 \"/tmp/ansible_lineinfile_payload_KyHa6O/ansible_linein file_payload.zip/ansible/modules/file\"/tmp/ansible_lineinfile_payload_KyHa6O/ansible_lineinfile_payload.zip/ansible/modules/files/lineinfile.py\",第 277 行,當前\r\n 文件 \"/usr/lib64/python2 .7/re.py\",第 190 行,在 r\n 文件中 \"/usr/lib64/python2.7/re.py\",第 242 行,在 _compile\r\n 中引發錯誤,v # 表達式無效\r\nsre_constants.error: 沒有可重復的內容\r\n", "msg": "MODULE FAILURE\n參見標准

我不確定為什么它不起作用。 ansible 文檔頁面上的示例似乎工作正常。

顯然,我的想法偏向了一邊。 我認為這條線是問題

line: '^#+auto.master'

但這是罪魁禍首

regexp: '^+auto.master'

加號必須像這樣轉義。

  regexp: '^\+auto.master'
  line: '#+auto.master'

一些可能的問題:

  • YAML 文件縮進錯誤
  • 未轉義字符

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM