3

我正在尝试根据分隔符拆分变量。我怎样才能实现它?

  some_module: {{item}}.split('@')[1]
  with_items:
     - git@someversionxxx
     - gradle@someversionxxx

我收到以下错误:

列表对象'没有属性'split ansible

我只想考虑变量的第一部分,即在'@'之前

4

1 回答 1

10
some_module: "{{ item.split('@')[0] }}"
  • {{ ... }}用于表示 Jinja2 表达式,您拥有的一切都是 Jinja2 表达式
  • 使用 Ansible 中的 YAML 语法,如果字符串以开头,则必须引用它{(除非它是 JSON 对象,否则不是)
  • 结果的第一个元素的split索引为 0
于 2017-04-05T07:23:18.933 回答