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
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.)
 
acr (2.0.)
acs (2.0.)
appservice (0.1.)
……..

可以检查其版本。

登录AzureChina:

az cloud set --name AzureChinaCloud
az login --username admin@xxxx.partner.onmschina.cn
Password:

输入密码后,就可以登录了。

静默安装Azure CLI的更多相关文章

  1. 安装 Azure CLI

    首先安装node 和 npm 的安装 官方推荐v4.4.4长期支持版 1.下载并解压 node-v4.4.4-linux-x64.tar.xz tar -xJf node-v4.4.4-linux-x ...

  2. Linux CentOS安装Azure Cli工具

    vim /etc/yum.repos.d/epel.repo [epel] name=epel baseurl=http://mirrors.sohu.com/fedora-epel/6/$basea ...

  3. Linux上使用Azure CLI来管理Azure

    在Windows上我们有强大的Powershell提供各种命令来管理Azure的服务,在Linux上微软提供了基于Node.JS的跨平台的Azure Command Line来帮助Linux用户来管理 ...

  4. Windows系统安装Azure CLI

    本文将介绍在Windos系统下如下安装CLI 1.打开Azure官方链接:https://www.azure.cn/downloads/ 2.按照向导进行安装 3.打开Windows Powershe ...

  5. 使用 Azure CLI 创建 Windows 虚拟机

    Azure CLI 用于从命令行或脚本创建和管理 Azure 资源. 本指南详细介绍如何使用 Azure CLI 部署运行 Windows Server 2016 的虚拟机. 部署完成后,我们连接到服 ...

  6. 使用 Azure CLI 管理 Azure 虚拟网络和 Linux 虚拟机

    Azure 虚拟机使用 Azure 网络进行内部和外部网络通信. 本教程将指导读者部署两个虚拟机,并为这些 VM 配置 Azure 网络. 本教程中的示例假设 VM 将要托管包含数据库后端的 Web ...

  7. 使用 Azure CLI 管理 Azure 磁盘

    Azure 虚拟机使用磁盘来存储 VM 操作系统.应用程序和数据. 创建 VM 时,请务必选择适用于所需工作负荷的磁盘大小和配置. 本教程介绍如何部署和管理 VM 磁盘. 学习内容: OS 磁盘和临时 ...

  8. 使用 Azure CLI 创建和管理 Linux VM

    Azure 虚拟机提供完全可配置的灵活计算环境. 本教程介绍 Azure 虚拟机的基本部署项目,例如选择 VM 大小.选择 VM 映像和部署 VM. 你将学习如何执行以下操作: 创建并连接到 VM 选 ...

  9. 使用 Azure CLI 创建 Linux 虚拟机

    Azure CLI 用于从命令行或脚本创建和管理 Azure 资源. 本指南详细介绍了如何使用 Azure CLI 部署运行 Ubuntu 服务器的虚拟机. 服务器部署以后,将创建 SSH 连接,并且 ...

随机推荐

  1. SOA 面向服务架构 阅读笔记(四)

    15  SOA管理 15.1 管理指的是实现一个制约和平衡的一致过程,以确保得到期望的结果. 15.2 管理被广泛应用于人工流程和软件流程中,一旦管理失败,后果会非常严重. 15.3 SOA管理的首要 ...

  2. Java Hibernate 5.3.x

    SchemeExport Hibernate根据实体类和实体类映射文件自动生成表结构. 示例代码: <?xml version='1.0' encoding='utf-8'?> <! ...

  3. K8s + Flannel 网络架构图

    这是Flannel官网给出的网络架构图 这是通过自己的理解画的逻辑结构图 查看bridge [root@node01 ~]# brctl show bridge name bridge id STP ...

  4. python的一些内置函数

    最近看到一些人写的文章里有提到python的描述符__get__,__set__,__del__. 这里我也小小研究了一下,除了这3个之外还加上过程中学习的几个,比如__call__等. __get_ ...

  5. Threalocal的使用及其原理

    虽然现在可以说很多程序员会用ThreadLocal,但是我相信大多数程序员还不知道ThreadLocal,而使用ThreadLocal的程序员大多只是知道其然而不知其所以然,因此,使用ThreadLo ...

  6. java写出图形界面

    1. 做出简单的窗体 package javaGUI; import java.awt.BorderLayout; import java.awt.Color; import javax.swing. ...

  7. Yii框架和Vue的完美结合完成前后端分离项目

    背景说明 本文假设你对Yii和Vue都比较熟悉,至少都在项目里用过,另外笔者新人,以后不定时放一些干货,欢迎程序媛关注 Yii是一个PHP全端框架,典型的mvc的项目结构,后端接口都是一个控制器里放了 ...

  8. Shell中数学计算/运算

    shell中的赋值和操作默认都是字符串处理. 1)使用let(只能进行整数运算)var=1let "var+=1"echo $var输出结果为2 注意:a)let几乎支持所有的运算 ...

  9. iso不支持document事件

    ios safari游览器除了a.input.button等不支持document事件委托?<body>加上这个样式即可 <style> .clickable-div { cu ...

  10. 机器学习之K-近邻(KNN)算法

    一 . K-近邻算法(KNN)概述  最简单最初级的分类器是将全部的训练数据所对应的类别都记录下来,当测试对象的属性和某个训练对象的属性完全匹配时,便可以对其进行分类.但是怎么可能所有测试对象都会找到 ...