virtualbox+vagrant学习-2(command cli)-25-Machine Readable Output
Machine Readable Output机器可读的输出
每个vagrant命令都接受一个--machine-readable的标志,它支持机器可读的输出模式。在这种模式下,终端的输出被机器友好的输出所替代。
这种模式使以编程方式执行vagrant和从中读取数据变得容易。这种输出格式由我们的向后兼容策略保护。
然而,在Vagrant 2.0发布之前,随着我们为其确定更多的用例,机器可读的输出可能会发生变化。但是向后兼容的承诺应该使编写客户机库来解析输出格式变得安全。
⚠️这是一个高级主题,仅当你希望以编程方式执行Vagrant时才使用。如果你刚刚开始使用Vagrant,你可以安全地跳过这一部分。
1)Work-In-Progress 正在进行中
机器可读的输出是一个非常新的概念(作为Vagrant 1.4的一部分发布)。我们仍然在为它收集用例,并为每个命令构建输出。由于缺少信息,可能无法实现机器可读输出。
2)Format格式
机器可读格式是面向行的、逗号分隔的文本格式。这使得使用标准的Unix工具(如awk或grep)以及完整的编程语言(如Ruby或Python)来解析变得非常容易。
其格式为:
timestamp,target,type,data...
内容解释:
- timestamp :消息打印时的UTC Unix时间戳
- target : 目标是以下输出的目标。如果消息与全球Vagrant相关,则此值为空。否则,这通常是一个机器名,因此在使用多vm时,你可以将输出关联到特定的机器。
- type : 类型是被输出的机器可读消息的类型。稍后将介绍一组标准类型。
- data : 数据是与前一种类型相关联的零个或多个逗号分隔的值。该数据的确切数量和含义依赖于类型,因此必须阅读与该类型相关的文档才能完全理解。
在格式中,如果数据包含逗号,则用%!(VAGRANT_COMMA)替换。这是比如\'等转义字符更好的选择,因为它对如awk等工具更友好。
格式中的换行被替换为各自的标准转义序列。换行成为输出中的一个文本\n,回车变成文本\r。
3)Types类型
本节记录所有可用的类型,这些类型可以通过机器可读的输出输出。
| Type | Description |
|---|---|
| box-name | Name of a box installed into Vagrant. |
| box-provider | Provider for an installed box. |
| cli-command | A subcommand of vagrant that is available. |
| error-exit | An error occurred that caused Vagrant to exit. This contains that error. Contains two data elements: type of error, error message. |
| provider-name | The provider name of the target machine. targeted |
| ssh-config | The OpenSSH compatible SSH config for a machine. This is usually the result of the "ssh-config" command. targeted |
| state | The state ID of the target machine. targeted |
| state-human-long | Human-readable description of the state of the machine. This is the long version, and may be a paragraph or longer. targeted |
| state-human-short | Human-readable description of the state of the machine. This is the short version, limited to at most a sentence. targeted |
virtualbox+vagrant学习-2(command cli)-25-Machine Readable Output的更多相关文章
- virtualbox+vagrant学习-2(command cli)-26-vagrant share命令
Share share命令初始化了一个vagrant share会话,允许你与世界上任何一个人共享vagrant环境,允许在几乎任何网络环境中直接在vagrant环境中进行协作. 你可以在本博客的vi ...
- virtualbox+vagrant学习-2(command cli)-10-vagrant Port命令
Port 格式: vagrant port [options] [name|id] 端口命令显示映射到主机端口的客户端口的完整列表 userdeMacBook-Pro:~ user$ vagrant ...
- virtualbox+vagrant学习-2(command cli)-17-vagrant ssh命令
SSH 格式: vagrant ssh [options] [name|id] [-- extra ssh args] 这将SSH导入正在运行的vagrant机器,并允许你访问机器的shell. us ...
- virtualbox+vagrant学习-2(command cli)-1-vagrant box命令
vagrant box 这是用于管理(添加.删除等)boxes的命令. box 是一个打包好的操作系统,是一个后缀名为 .box 的文件,其实是一个压缩包,里面包含了 Vagrant 的配置信息和 V ...
- virtualbox+vagrant学习-2(command cli)-2-vagrant cloud命令--有问题
Cloud https://www.vagrantup.com/docs/cli/cloud.html 命令: vagrant cloud 这是用来管理与vagrant相关的任何东西的命令. 该命令的 ...
- virtualbox+vagrant学习-2(command cli)-11-vagrant PowerShell命令
PowerShell 格式: vagrant powershell [-- extra powershell args] 这将在主机上打开PowerShell提示符,进入正在运行的vagrant机器. ...
- virtualbox+vagrant学习-2(command cli)-16-vagrant snapshot命令
Snapshot快照 这是用于管理客户机器快照的命令.快照记录客户计算机的时间点状态.然后可以快速恢复到此环境.这可以让你进行试验和尝试,并迅速恢复到以前的状态. 快照并不是每个provider都支持 ...
- virtualbox+vagrant学习-2(command cli)-19-vagrant box命令
Status 格式: vagrant status [name|id] options只有 -h, --help 这将告诉你vagrant正在管理的机器的状态. 很容易就会忘记你的vagrant机器是 ...
- virtualbox+vagrant学习-2(command cli)-24-Aliases别名
Aliases 别名的部分灵感来自Git自身的别名功能,它允许你创建自己的定制vagrant命令,从而使你的vagrant体验更简单.更容易.更熟悉. 别名可以在VAGRANT_HOME/ alias ...
随机推荐
- 斐波那契堆(Fibonacci heap)原理详解(附java代码实现)
前言 斐波那契堆(Fibonacci heap)是计算机科学中最小堆有序树的集合.它和二项式堆有类似的性质,但比二项式堆有更好的均摊时间.堆的名字来源于斐波那契数,它常用于分析运行时间. 堆结构介绍 ...
- 解决:maven 项目添加 pom 的 oracle 依赖
前言:maven 项目需要在 pom 文件中添加 oracle 的依赖. 如果报错:报找不到驱动:java.lang.ClassNotFoundException: oracle.jdbc.drive ...
- 【1】Singleton模式(单例模式)
一.单例模式的介绍 说到单例模式,大家第一反应应该就是--什么是单例模式?从“单例”字面意思上理解:一个类只有一个实例.所以单例模式也就是保证一个类只有一个实例的一种实现方法罢了(设计模式其实就是帮助 ...
- 客户端ajax请求为实现Token验证添加headers后导致正常请求变为options跨域请求解决方法
客户端为了实现token认证,通过Jquery的ajaxSetup方法全局配置headers: 全局配置headers后会导致部分不需要token认证的请求变为options请求,导致跨域访问.报错信 ...
- python之定义函数
1.定义函数和参数检查 通过def语句定义一个函数,自己定义的函数,当参数个数不对时,python解释器可以抛出TypeError,但是当参数类型不对时,无法抛出TypeError,为此可以通过isi ...
- Android Apk增量更新
前言 有关APK更新的技术比较多,例如:增量更新.插件式开发.热修复.RN.静默安装. 下面简单介绍一下: 什么是增量更新? 增量更新就是原有app的基础上只更新发生变化的地方,其余保持原样. 与 ...
- Android控件显示和隐藏
Android控件都有visibility属性,该属性有三个可能值:visible.invisible.gone.可以通过预设或是Java程序控制这些控件的显示或隐藏. 一.在XML配置文件设置 可见 ...
- 配置hive使用mysql存储metadata metadatastore
hive默认使用derby数据库保存元数据,derby数据库比较小众,并且一次只能打开一个会话,一般修改为mysql数据库. 1.修改conf/hive-site.xml配置项: <pr ...
- Python 操作数据库pymysql
import pymysql #添加数据 conn , user='root', passwd='', db='yyy') #更改获取数据结果的数据类型,默认是元组,可以改为字典等:#cursor=c ...
- zabbix系列之五——安装后配置一
https://www.zabbix.com/documentation/3.4/manual/appliance Configuration 1Hosts and host groups Overv ...