我的计算引擎实例上有自定义元数据,密钥为json
,值为{ "a" : " * * * " }
。
现在我做的时候:
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:做了几次测试,只有前面空格的通配符似乎表现出这种行为。
答案 0 :(得分:1)
您可能正在使用echo $JSON
代替echo "$JSON"
来显示变量的值。