1. 程式人生 > >靜默安裝Azure CLI

靜默安裝Azure CLI

style sub 交互式 acs linux source request python 進行

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,所以全部是發送回車即可。

三、驗證

輸入:

[[email protected] 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. ……

說明已經安裝成功。

[[email protected] test]# az --version
azure-cli (2.0.6)
 
acr (2.0.4)
acs (2.0.6)
appservice (0.1.6)
……..

可以檢查其版本。

靜默安裝Azure CLI