YAML(YAML Ain't Markup Language)是一种流行的数据序列化格式,旨在与脚本语言和现代编程语言无缝集成,它的设计目标之一是易于阅读和编写,在Linux中广泛使用了YAML格式,涵盖了软件配置、自动化工具、容器化部署等多个领域,展示了 YAML 在 Linux 生态系统中的重要性和多功能性
YAML 的基本语法结构
YAML 的语法非常简洁和直观,主要的主要语法规则有
缩进 YAML 中使用缩进来表示数据的层次结构,缩进必须使用空格(通常是两个或四个空格),而不能使用制表符。同一层级的元素必须具有相同数量的空格缩进。
键值对 YAML 中使用冒号
:
分隔键和值,键值对的形式为key: value
。冒号后面的空格是可选的,但为了可读性通常会添加。列表 YAML中列表使用连字符
-
表示,后跟一个空格和列表项的值。每个连字符下面的值都是列表的一个元素。引用 YAML 允许使用锚点
&
和别名*
来引用相同的数据结构,这样可以避免重复定义相同数据。字符串引号 可以使用单引号
' '
或者双引号" "
括起来,主要应用在包含特殊字符或空格的情况。特殊值 YAML 支持表示特殊值,如布尔值、空值等。布尔值为
true
或false
,空值为null
。注释 在 YAML 中,注释以井号
#
开头,并且注释必须位于一行的开头或者是键值对的末尾。注释直到该行的末尾或者下一个键值对之前都是有效的。
示例:
# 以#开头的是注释
person:
name: 'John Doe' # 在值包含空格时使用引号
address: "123 Main Street" # 注释也可以写在这里
key2:
- item1
- item2
fruits: &fruits_list #使用&定义锚点
- Apple
- Orange
- Banana
my_basket:
- *fruits_list #使用*来引用
- Mango
YAML的嵌套结构
YAML 支持嵌套结构,使得复杂数据可以以更结构化的方式表示。以下是一个示例:
# 嵌套结构示例
user:
name: Alice
age: 25
address:
city: Wonderland
country: Fairyland
在这个示例中,user
包含了 name
、age
和 address
三个键,其中 address
又包含了 city
和 country
两个子键。
评论区