lea*_*ner 0 syntax bash azure-cli
我创建了一个 bash 脚本,因为我想通过 Jenkins 作业启动和停止虚拟机。脚本内容如下
set -x
applicationId = "xxxxxxxxxxxxxxxx"
tenantID="xxxxxxxxxxxxxxxxx"
password = "jenkins"
az login --service-principal --username "${applicationId}" --password "{$password}" --tenant "{tenantID}"
export resource_group=rg_networking
# declare an array variable
declare -a host_list=("<Array of Host Space sepperated>")
## now loop through the above array
for i in "${host_list[@]}"
do
echo "Stopping Virtual Machine $i"
az vm stop --name "${i}" --resource-group "${resource_group}"
done
exit 0
Run Code Online (Sandbox Code Playgroud)
运行 Jenkins 作业时收到的错误消息如下:
Get Token request returned http error: 400 and server response: {"error":"invalid_request","error_description":"AADSTS90002: Requested tenant identifier '{tenantid}' is not valid and not valid external domain format\r\nTrace ID: 1bb4c96a-c26c-48a3-b502-7d8b17b90800\r\nCorrelation ID: 2b01e6aa-0fd6-4a52-878b-f829d5d02152\r\nTimestamp: 2018-11-06 23:42:36Z","error_codes":[90002],"timestamp":"2018-11-06 23:42:36Z","trace_id":"1bb4c96a-c26c-48a3-b502-7d8b17b90800","correlation_id":"2b01e6aa-0fd6-4a52-878b-f829d5d02152"}
Run Code Online (Sandbox Code Playgroud)
以及在每个 az stop vm Stement ix 执行后出现以下错误。
ERROR: Please run 'az login' to setup account.
Run Code Online (Sandbox Code Playgroud)
无法理解是什么问题?
任何人都可以帮助我吗?
谢谢
第一个错误是由这部分引起的,你错过了$你的命令。
az login --service-principal --username "${applicationId}" --password "{$password}" --tenant "{tenantID}"
Run Code Online (Sandbox Code Playgroud)
试试下面的命令,它在我这边工作正常。
az login --service-principal --username "${applicationId}" --password "${password}" --tenant "${tenantID}"
Run Code Online (Sandbox Code Playgroud)
登录后,ERROR: Please run 'az login' to setup account.错误也将得到修复。