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
我有一个远程服务器,上面有一个文件。该文件中的一行如下:
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