Azure CLI echo 命令没有响应
Azure CLI echo command not responding
我希望将我的连接字符串存储在以下变量中:
connectionString= az storage account show-connection-string -n $storageAccount -g $resourceGroup --query connectionString -o tsv
当我执行上面的命令时,我在响应中得到了完整的连接字符串。但是,当我输入:
echo $connectionString
...我收到空白回复。变量未被存储。关于其他尝试的任何建议?
您可以使用 command substitution 来捕获变量中的输出:
connectionString=$(az storage account show-connection-string -n $storageAccount -g $resourceGroup --query connectionString -o tsv)
如果您需要跨多行保留输出,即当 Azure CLI returns 值采用 JSON 格式时,您可能希望使用稍微不同的格式输出到标准输出。
考虑这个例子:
varResourceGroup=$(az group show -n $resourceGroup)
使用与示例中相同的命令将输出输出到标准输出将导致一行:
echo $varResourceGroup
{ "id": "/subscriptions/<subscription_id>/resourceGroups/<resourceGroup_name>", "location": "westeurope", "managedBy": null, "name": "<resourceGroup_name>", "properties": { "provisioningState": "Succeeded" }, "tags": null }
如果您使用稍微不同的格式,换行符将被保留:
echo "$varResourceGroup"
{
"id": "/subscriptions/<subscription_id>/resourceGroups/<resourceGroup_name>",
"location": "westeurope",
"managedBy": null,
"name": "<resourceGroup_name>",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
正如霍尔格所说,我们可以使用这个脚本来定义变量:
connectionString=$(az storage account show-connection-string -n $storageAccount -g $resourceGroup --query connectionString -o tsv)
另外,我们可以用这种方式来定义这个变量,像这样:
[root@jasoncli@jasonye ~]# connectionstring=`az storage account show-connection-string -n jasondisk3 -g jasonauto --query connectionString -o tsv`
[root@jasoncli@jasonye ~]# echo $connectionstring
DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=jasondisk3;AccountKey=m+kQwLuQZiI3LMoMTyAI8KxxxxD+ZaT9HUL3Agxxxxqul4s8fAIHGPMTD/AG2j+TPHBpttq5hXRmTaQ==
希望对您有所帮助。
我希望将我的连接字符串存储在以下变量中:
connectionString= az storage account show-connection-string -n $storageAccount -g $resourceGroup --query connectionString -o tsv
当我执行上面的命令时,我在响应中得到了完整的连接字符串。但是,当我输入:
echo $connectionString
...我收到空白回复。变量未被存储。关于其他尝试的任何建议?
您可以使用 command substitution 来捕获变量中的输出:
connectionString=$(az storage account show-connection-string -n $storageAccount -g $resourceGroup --query connectionString -o tsv)
如果您需要跨多行保留输出,即当 Azure CLI returns 值采用 JSON 格式时,您可能希望使用稍微不同的格式输出到标准输出。
考虑这个例子:
varResourceGroup=$(az group show -n $resourceGroup)
使用与示例中相同的命令将输出输出到标准输出将导致一行:
echo $varResourceGroup
{ "id": "/subscriptions/<subscription_id>/resourceGroups/<resourceGroup_name>", "location": "westeurope", "managedBy": null, "name": "<resourceGroup_name>", "properties": { "provisioningState": "Succeeded" }, "tags": null }
如果您使用稍微不同的格式,换行符将被保留:
echo "$varResourceGroup"
{
"id": "/subscriptions/<subscription_id>/resourceGroups/<resourceGroup_name>",
"location": "westeurope",
"managedBy": null,
"name": "<resourceGroup_name>",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
正如霍尔格所说,我们可以使用这个脚本来定义变量:
connectionString=$(az storage account show-connection-string -n $storageAccount -g $resourceGroup --query connectionString -o tsv)
另外,我们可以用这种方式来定义这个变量,像这样:
[root@jasoncli@jasonye ~]# connectionstring=`az storage account show-connection-string -n jasondisk3 -g jasonauto --query connectionString -o tsv`
[root@jasoncli@jasonye ~]# echo $connectionstring
DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=jasondisk3;AccountKey=m+kQwLuQZiI3LMoMTyAI8KxxxxD+ZaT9HUL3Agxxxxqul4s8fAIHGPMTD/AG2j+TPHBpttq5hXRmTaQ==
希望对您有所帮助。