systemctl 添加 bash 命令作为环境变量

systemctl 添加 bash 命令作为环境变量

我想使用这一行作为 systemctl 文件的环境。

Environment="PGBOUNCER_IP=$(ip -json addr show $interface |   jq -r '.[] | .addr_info[] | select(.family == "inet") | .local'| grep -v '127.0.0.1')"

但它不考虑该值,而是采用整个命令。

我尝试将其放入文件中并从 systemctl 调用。

ExecStartPre=/bin/bash -c 'source envfile'

但没有运气

答案1

我找到了一个解决方法。

ExecStartPre=/bin/bash -c "/bin/systemctl set-environment PGBOUNCER_IP=$(ip -json addr show $interface |   jq -r '.[] | .addr_info[] | select(.family == \"inet\") | .local'| grep -v '127.0.0.1')"

相关内容