我想使用这一行作为 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')"