yaml基本语法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yaml基本语法相关的知识,希望对你有一定的参考价值。

参考技术A YAML:YAML Ain't Markup Language,即YAML不是标记语言。不过,在开发的这种语言时,YAML的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)
YAML是一个可读性高的用来表达资料序列的格式。YAML参考了其他多种语言,包括:XML、C语言、 Python、Perl以及电子邮件格式RFC2822等。Clark Evans在2001年在首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者,目前很多最新的软件比较流行采用此格式的文件存放配置信息,如:ubuntu,anisble,docker,kubernetes等
YAML 官方网站: http://www.yaml.org
ansible 官网: https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html

yaml语言特性归纳如下

1、大小写敏感
2、使用缩进表示层级关系
3、禁止使用tab缩进,只能使用空格键
4、缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级
5、使用#表示注释
6、字符串可以不用引号标注

YAML 支持以下常用几种数据类型:

key对应value

标量是最基本的,不可再分的值,包括:

字典由多个key与value构成,key和value之间用 :分隔, 并且 : 后面有一个空格,所有k/v可以放在一行,或者每个 k/v 分别放在不同行
格式:

使用缩进方式

范例:

列表由多个元素组成,每个元素放在不同行,且元素前均使用"-"打头,并且 - 后有一个空格, 或者将所有元素用 [ ] 括起来放在同一行

也可以写成以 - 开头的多行

数据里面也可以包含字典

不同行,行以-开头,后面有一个空格# A list of tasty fruits

范例:YAML 表示一个家庭

XML:Extensible Markup Language,可扩展标记语言,可用于数据交换和配置
JSON:javascript Object Notation, JavaScript 对象表记法,主要用来数据交换或配置,不支持注释
YAML:YAML Ain't Markup Language YAML 不是一种标记语言, 主要用来配置,大小写敏感,不支持tab

yaml配置基本语法

# yaml配置用法,跟properties只能保存键值对:key=value
# 必须严格遵循以下模式写,对空格的要求及其严格

# 普通的key-value
name: he

# 对象
student1:
  name: hezhiqiang
  age: 18

# 行内写法
student2: {name: hezhiqiang,age: 19}

# 数组
pets1:
  - cat
  - dog
  - pig

# 行内写法
pets2: [cat,dog,pig]

 

以上是关于yaml基本语法的主要内容,如果未能解决你的问题,请参考以下文章

yaml配置基本语法

Python3 - YAML文件的基本语法和简介

YAML最最基础语法

ansible-YAML语法

01-YAML基本使用

YAML语法搞定ansible playbook