Ansible:如何在远程文件的一行上用 pattern/substring 的值填充变量?

Ansible: How do you populate a variable with the value of a pattern/substring on a line in a remote file?

我有一个远程服务器,上面有一个文件。该文件中的一行如下:

authorizationToken=<hash or empty string>

我想将角色中的变量设置为该行等号之后的任何值(如果有的话)(它可能是散列,也可能是空字符串)。

最不糟糕的方法是什么?

Konstantin 使用自定义事实将您链接到解决方案,但您也可以使用以下简单任务获得相同的值:

- name: get authorizationToken
  command: >
    awk -F= ' == "authorizationToken" {print }' /path/to/configfile
  register: token

现在该值在后续任务中可用 token.stdout

尝试以 "right" 方式执行此操作一段时间后,最终阻力最小的路径是使用 shell 脚本:

- name: Record autorization Token
  shell: "cat {{ buildagent_dir }}/conf/buildAgent.properties 2>/dev/null | grep authorizationToken | cut -d '=' -f 2"
  register: token