Teng's blog Teng's blog
首页
Java
H5前端
GitHub (opens new window)
首页
Java
H5前端
GitHub (opens new window)
  • 背景介绍
  • 安装
  • 配置说明
  • 基础命令
  • 常用模块
  • Playbook

    • 简单介绍
    • yaml语法
      • 介绍
      • 基础
        • 扩展名
        • 注释
        • 缩进
        • 大小写
        • kv
        • 其他
      • 列表
      • 字典
      • 符合示例
    • hosts
    • task
    • 运行playbook
    • handlers
    • tags
    • variables
    • template
    • when条件判断
    • with_items迭代
    • roles
    • 附:jinja2语法
  • Tool-Ansible
  • Playbook
Shetengteng
2022-05-15

yaml语法

# 介绍

官网 http://www.yaml.org

YAML是一个可读性高的用来表达资料序列的格式

  • 参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822等
  • Clark Evans在2001年在首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者
  • YAML Ain't Markup Language,即YAML不是XML
  • 不过,在开发的这种语言时,YAML的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)

特性

  • 可读性好
  • 和脚本语言的交互性好
  • 使用实现语言的数据类型
  • 有一个一致的信息模型
  • 易于实现
  • 可以基于流来处理
  • 表达能力强,扩展性好

# 基础

# 扩展名

YAML文件扩展名通常为yml或yaml

# 注释

  • 使用#号注释代码

# 缩进

  • 缩进必须是统一的,不能空格和tab混用,只能同时用一种
  • 缩进级别必须是一致的,同样的缩进代表同样的级别,程序判别配置的级别是通过缩进结合换行来实现的

# 大小写

  • YAML文件内容是区别大小写的
  • k/v的值均需大小写敏感

# kv

  • 多个k/v可同行写也可换行写,同行使用:分隔
  • v可是个字符串,也可是另一个列表[]

# 其他

  • 在单一档案中,可用连续三个连字号 --- 区分多个档案
  • 有选择性的连续三个点号 ... 用来表示档案结尾次行开始正常写Playbook的内容

# 列表

列表,其所有元素均使用-打头,列表代表同一类型的元素

示例

# A list of tasty fruits
- Apple
- Orange
- Strawberry
- Mango
1
2
3
4
5

# 字典

通常由多个key与value构成 键值对,示例

---
# An employee record
name: Example Developer
job: Developer
skill: Elite
1
2
3
4
5

也可以将key:value放置于{}中进行表示,用,分隔多个key:value,示例

---
# An employee record 注意有空格
{name: Example Developer, job: Developer, skill: Elite}
1
2
3

# 符合示例

YAML的语法和其他高阶语言类似,可简单表达清单、散列表、标量等数据结构;其结构(Structure)通过空格来展示,序列(Sequence)里的项用-来代表,Map里的键值对用:分隔

name: John Smith
age: 41
gender: Male
spouse:
  name: Jane Smith
  age: 37
  gender: Female
  children:
    - name: Jimmy Smith
      age: 17
      gender: Male
    - name: Jenny Smith
      age 13
      gender: Female
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Last Updated: 2022/05/22, 12:42:00
简单介绍
hosts

← 简单介绍 hosts→

Theme by Vdoing | Copyright © 2021-2022 Shetengteng | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式