Azure的CLI目前已經是基於Python的2.0版本。其資訊在下面的連結可以找到:
https://github.com/Azure/azure-cli
其安裝方法可以根據網站上描述的命令實現:
curl -L https://aka.ms/InstallAzureCli | bash
但這種安裝模式是互動式的,不能實現靜默安裝。
本文將介紹如何採用expect實現靜默安裝。
一、說明
根據https://docs.microsoft.com/en-us/cli/azure/install-az-cli2中描述的安裝指南,在安裝CLI前,有一些準備工作:
我用的是CentOS7.3版本的Linux,其Pre-Request為:
sudo yum check-update; sudo yum install -y gcc libffi-devel python-devel openssl-devel
安裝命令為:
curl -L https://aka.ms/InstallAzureCli | bash
由於安裝過程有互動,所以採用inspect來實現預期的互動安裝。
二、安裝
兩個指令碼:
1. installAzureCli.sh
做安裝前的準備工作,並呼叫expect的指令碼:
#!/bin/bash yum update yum install -y expect yum install -y gcc libffi-devel python-devel openssl-devel expect test.sh
2. test.sh
進行安裝:
#!/usr/bin/expect -f set timeout 20000 spawn /bin/sh -c "curl -L https://aka.ms/InstallAzureCli | bash" expect "*)*" send "\r" expect "*)*" send "\r" expect "*)*" send "\r" expect "*)*" send "\r" expect "*)*" send "\r" interact
其中timeout設定比較長,是保證在安裝時不會中斷,安裝中都是預設回車就ok,所以全部是傳送回車即可。
三、驗證
輸入:
[root@hwwaf01 test]# az /\
/ \ _____ _ _ __ ___
/ /\ \ |_ / | | | \'__/ _ \
/ ____ \ / /| |_| | | | __/
/_/ \_\/___|\__,_|_| \___| Welcome to the cool new Azure CLI! Here are the base commands: account : Manage subscriptions. acr : Manage Azure container registries. acs : Manage Azure Container Services. ad : Synchronize on-premises directories and manage Azure Active Directory resources. appservice : Manage your App Service plans. batch : Manage Azure Batch. ……
說明已經安裝成功。
[root@hwwaf01 test]# az --version azure-cli (2.0.6) acr (2.0.4) acs (2.0.6) appservice (0.1.6) ……..
可以檢查其版本。
登入AzureChina:
az cloud set --name AzureChinaCloud az login --username admin@xxxx.partner.onmschina.cn Password:
輸入密碼後,就可以登入了。