导出MySQLIP = "2.2.2.2"

领事kv把micro/mysql'{"enabled":true,"url":"root:yourpassword@($MySQLIP:3306)"}'

当上述命令运行时,如何使$MySQLIP变为2.2.2.2?我知道这与shell脚本有关。请帮忙。

分析解答

使用双引号允许变量被扩展:

consul kv put micro/mysql '{"enabled": true,
    "url":"root:yourpassword@'"$MySQLIP"':3306"}'

上面,我们实际上是在串联三个字符串,第一个和最后一个是single-quoted,第二个被双引号引起来。您还可以编写:

consul kv put micro/mysql "{\"enabled\": true,
        \"url\":\"root:yourpassword@$MySQLIP:3306\"}"

如果您觉得更清晰。在外壳中有很多引用字符串的方法。