如果我运行这个命令
/bin/bash -c 'while true;do /usr/bin/etcdctl set my-container "{\"host\": \"1\", \"port\": $(/usr/bin/docker port my-container 5000 | cut -d":" -f2)}" --ttl 60;sleep 45;done'
我从etcd得到了我期望的内容 {"host":"1", "port":49155}
但是如果我把它放在systemd文件中
ExecStart=/bin/bash -c 'while true;do /usr/bin/etcdctl set my-container "{\"host\": \"1\", \"port\": $(/usr/bin/docker port my-container 5000 | cut -d":" -f2)}" --ttl 60;sleep 45;done'
我得到了 {host:1, port:49155} 的返回结果。
有任何想法,为什么文件内部的转义不同?我该如何解决?谢谢!
echo
中发出字面引号。也就是说,他们想知道如何打印"a fun thing"
而不是a fun thing
。 - Charles Duffy