上述代码执行后报错The offending line appears to be: set_fact: deleteAfterStr: "{{ deleteBeforeStr | regex_replace(' ",.*', '') }}" ^ here We could be wrong, but this one looks like it might be an issue with missing quotes. Always quote template expression brackets when they start a value. For instance:
时间: 2024-02-10 11:35:13 浏览: 241
这个报错信息提示说,在 `set_fact` 这一行中,可能缺少引号导致出错。建议检查 `deleteBeforeStr` 变量的值是否有引号,如果没有,可以在变量值两侧添加引号来解决问题。同时,也可以尝试在 `regex_replace` 这个 Jinja2 过滤器中的参数值两侧添加引号来避免出现语法错误。
相关问题
ERROR! Syntax Error while loading YAML. did not find expected keyThe error appears to be in '/ansible-tmp/f5040634fb8f11ed9d990242cfc1d9fb.yml': line 21, column 8, but maybe elsewhere in the file depending on the exact syntax problem.The offending line appears to be: ".*> ": "break" register: result1
根据您提供的错误信息,似乎在 YAML 文件中出现了语法错误。错误信息表明在第 21 行的第 8 列附近存在问题,但实际上问题可能在其他地方。
通常,在 YAML 文件中出现 `did not find expected key` 错误时,表示在某个地方缺少了一个关键字或者冒号没有正确使用。请检查 YAML 文件的格式,并确保每个关键字和值之间都有一个冒号,并且使用正确的缩进。
在您提供的代码中,`register: result1` 这行可能需要缩进两个空格,以匹配 expect 模块的缩进。如果您的代码有其他缩进问题,也可能导致出现这种错误。
以下是一个正确的 expect 模块的示例,可以作为参考:
```
- name: exec get config
expect:
command: "get config"
responses:
"--- more --- ": " "
".*> ": "break"
register: result1
```
请注意,每个模块都必须正确缩进,并在 `key: value` 中使用冒号和空格进行分隔。如果您仍然无法解决问题,请提供更多代码和错误消息以便我更好地帮助您。
[root@ansible ansible_playbook]# ansible-playbook -C rsync.yaml ERROR! this task 'copy' has extra params, which is only allowed in the following modules: ansible.builtin.raw, ansible.legacy.add_host, ansible.builtin.meta, ansible.legacy.include, ansible.legacy.import_role, script, ansible.legacy.raw, group_by, ansible.builtin.shell, ansible.legacy.win_command, include, shell, include_vars, ansible.builtin.import_tasks, add_host, ansible.builtin.include_vars, ansible.legacy.include_role, ansible.builtin.include_role, ansible.legacy.include_vars, ansible.legacy.win_shell, ansible.legacy.group_by, import_tasks, ansible.builtin.set_fact, ansible.builtin.command, ansible.builtin.include_tasks, include_tasks, ansible.builtin.script, ansible.builtin.include, raw, meta, ansible.legacy.set_fact, ansible.builtin.add_host, ansible.legacy.script, ansible.legacy.import_tasks, win_command, ansible.builtin.win_shell, include_role, win_shell, set_fact, ansible.legacy.shell, ansible.legacy.command, import_role, ansible.legacy.meta, ansible.builtin.import_role, ansible.legacy.include_tasks, ansible.builtin.group_by, ansible.builtin.win_command, command The error appears to be in '/etc/ansible/ansible_playbook/rsync.yaml': line 11, column 7, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - name: create rsync local user ^ here
这个错误提示表明在'/etc/ansible/ansible_playbook/rsync.yaml'文件的第11行第7列附近存在错误。根据错误信息,问题出现在名为"create rsync local user"的任务上。这个任务可能使用了不被允许的额外参数。
根据Ansible的文档,只有特定的模块允许使用额外参数,如:ansible.builtin.raw、ansible.legacy.add_host、ansible.builtin.meta等。你需要检查该任务的参数,确保没有使用不被允许的额外参数。
阅读全文