Где бы я ни находил команду tar в файле, я sh добавляю 2>/dev/null
в конце той же строки.
Таким образом, если в файле /tmp/test.sh есть запись tar -cf test.tar /myfolder
, его следует заменить на tar -cf test.ta /myfolder 2>/dev/null
Ниже приведена моя книга воспроизведения для того же:
- name: Suppress tar errors
replace:
path: "/tmp/test.sh"
regexp: 'tar *'
replace: '\1 >2/dev/null'
Однако я получаю следующее сообщение об ошибке:
TASK [Suppress tar errors] **********************************************************************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: sre_constants.error: invalid group reference
fatal: [10.9.9.126]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"<stdin>\", line 102, in <module>\n File \"<stdin>\", line 94, in _ansiballz_main\n File \"<stdin>\", line 40, in invoke_module\n File \"/usr/lib64/python2.7/runpy.py\", line 176, in run_module\n fname, loader, pkg_name)\n File \"/usr/lib64/python2.7/runpy.py\", line 82, in _run_module_code\n mod_name, mod_fname, mod_loader, pkg_name)\n File \"/usr/lib64/python2.7/runpy.py\", line 72, in _run_code\n exec code in run_globals\n File \"/tmp/ansible_replace_payload_FUlN7y/ansible_replace_payload.zip/ansible/modules/files/replace.py\", line 302, in <module>\n File \"/tmp/ansible_replace_payload_FUlN7y/ansible_replace_payload.zip/ansible/modules/files/replace.py\", line 272, in main\n File \"/usr/lib64/python2.7/re.py\", line 162, in subn\n return _compile(pattern, flags).subn(repl, string, count)\n File \"/usr/lib64/python2.7/re.py\", line 275, in filter\n return sre_parse.expand_template(template, match)\n File \"/usr/lib64/python2.7/sre_parse.py\", line 802, in expand_template\n raise error, \"invalid group reference\"\nsre_constants.error: invalid group reference\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
Я даже попробовал следующее:
replace: '\g\1 >2/dev/null'
replace: '\g<1> >2/dev/null'
replace: '\1 >2/dev/null'
Но ни один из них не помог.