python - 使用 Ansible lineinfile 模块添加“#”符号的问题
问题描述
我正在尝试在 /etc/auto.master 文件下的一行前面添加一个 # 符号,如下所示
名称:设置 auto.master 步骤 1
lineinfile:
path: /etc/auto.master
regexp: '^+auto.master'
line: '^#+auto.master'
但是,当我运行我的剧本时,这就是我得到的
失败的!=> {"changed": false, "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='主', alter_sys=True)\r\n 文件 \"/usr/lib64/python2.7/runpy.py\", 第 176 行, 在 run_module\r\n fname, loader, pkg_name)\ne 82, in _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_lineinfile_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 # invalid expression\r\nsre_constants。错误:没有可重复的内容\r\n", "msg": "MODULE FAILURE\n参见 stdo
我不确定为什么它不起作用。ansible 文档页面上的示例似乎工作正常。
解决方案
显然,我的想法偏向了一边。我认为这条线是问题
line: '^#+auto.master'
但这是罪魁祸首
regexp: '^+auto.master'
加号必须像这样转义。
regexp: '^\+auto.master'
line: '#+auto.master'
推荐阅读
- java - App Engine FilterPredicate 在查询字符串时不返回任何内容
- c# - 如何读取带有图像的word文件
- javascript - Angular 6 只需要多个字段中的一个字段
- python - 使用逻辑回归时的内存错误
- android - Android Oreo:JobService 可以存活多久?
- c# - 在 asp.net 中的分页上维护 Checkbox 的 ViewState
- c - C- 将 realloc 与字符串指针结合
- office-js - 如何仅在内部发布和使用 Office Web 加载项?
- jquery - 如何在数据表中显示自定义消息?
- javascript - 圆点出现在带有圆形线帽FF,IE的行之前