变量触发值的替换

时间:2015-10-19 15:42:39

标签: bash curl metadata

我的计算引擎实例上有自定义元数据,密钥为json,值为{ "a" : " * * * " }

enter image description here

现在我做的时候:

curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/json" -H "Metadata-Flavor: Google"

结果:

{ "a" : " * * * " }

这是你期望的。

但现在我希望将此值变为变量

JSON=$(curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/json" -H "Metadata-Flavor: Google")

并且变量JSON的值为:

{ "a" : " file_ind_dir1 file_ind_dir2 file_ind_dir1 file_ind_dir2 file_ind_dir1 file_ind_dir2 " }

因此我的自定义元数据值中的*(asterix)将替换为当前目录的列表!!

这是我在分配变量的方式上的错误,还是计算引擎的责任。

真的没有看到触发这种替代的原因。

PS:做了几次测试,只有前面空格的通配符似乎表现出这种行为。

1 个答案:

答案 0 :(得分:1)

您可能正在使用echo $JSON代替echo "$JSON"来显示变量的值。