【发布时间】:2021-12-24 03:24:47
【问题描述】:
我有一个包含一些配置的文件:
org.jitsi.videobridge.xmpp.user.shard-2.HOSTNAME=localhost
org.jitsi.videobridge.xmpp.user.shard-2.DOMAIN=auth.js.name.com
org.jitsi.videobridge.xmpp.user.shard-2.USERNAME=rrr
org.jitsi.videobridge.xmpp.user.shard-2.PASSWORD=ENrewqsd
org.jitsi.videobridge.xmpp.user.shard-2.MUC_JIDS=JvbBrewery@internal.auth.js.name.com
org.jitsi.videobridge.xmpp.user.shard-2.MUC_NICKNAME=28bjrkd046-5891-bc2a-c6426a58966r4
在我的下一本剧本中,我想使用 env。 {siguiente_shard} 更改分片服务器的数量(shard-3、shard-4 等)为此我有一些 shell 命令:
siguiente_shard=$(expr 1 + $(grep 'shard-' /etc/jitsi/videobridge/sip-communicator.properties | awk -F '.' '{print $6}' |uniq | sort | tail -n1 | cut -d '-' -f2 | xargs printf "%d" ))
我有一本剧本:
---
- hosts: jitsi
become: true
tasks:
- name: Next number of shard script
shell: siguiente_shard=$(expr 1 + $(grep 'shard-' /etc/jitsi/videobridge/sip-communicator.properties | awk -F '.' '{print $6}' |uniq | sort | tail -n1 | cut -d '-' -f2 | xargs printf "%d" ))
register: siguiente_shard
- debug:
var: "{{ siguiente_shard.stdout }}"
- name: Echo my_env_var
shell: echo $siguiente_shard
environment:
siguiente_shard_env: siguiente_shard.stdout
register: siguiente_shard
- debug:
var: "{{ siguiente_shard.stdout }}"
但出现错误:
fatal: [jitsi]: FAILED! => {"msg": "template error while templating string: Expected an expression, got 'end of print statement'. String: {{}}"}
如何在 playbook 中设置环境 siguiente_shard 以便将来在文件 /roles/Jitsi/vars/main.yaml 中使用它
能否请您给我一些建议...谢谢!
【问题讨论】:
标签: ansible environment-variables jitsi