推荐阅读
作者:Sam1999
链接:https://www.jianshu.com/p/93fa78f45083
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
一背景
有一次看一个k8s检查检查的时候用的是exec额监控检查,有个竖线干扰了我的理解:
livenessProbe:
exec:
command:
- bash
- -ec
- |
exec mysql -uroot -p$MARIADB_ROOT_PASSWORD -e "select * from mysql.wsrep_cluster_members;"
这个简单简单就是 普通的 cmd健康检查没啥特别的本来 但是多了一行 “ | ”竖线 不知道啥意思,顺便复习一下yaml的基础语法
二 特殊语法
对于多行的文字,YAML 提供了两种特殊的语法支持
保留换行(Newlines preserved)
使用**竖线符“ | ”**来表示该语法,每行的缩进和行尾空白都会被去掉,而额外的缩进会被保留
lines: |
我是第一行
我是第二行
我是吴彦祖
我是第四行
我是第五行
原文:https://blog.csdn.net/dreaming_coder/article/details/106973969
三基础语法
一、yaml基本语法
1. yaml的基本格式是 k: v (注意:冒号后面有一个空格,而且这个空格是必须的)
yaml中的字符串默认不用加双引号或者单引号,如果加了双引号或者单引号,则单引号和双引号在yaml中有不同的用法,
""双引号不会转义字符串里面的特殊字符:特殊字符会作为本身想表达的意思
例:"张三\n李四" 会表示出 张三 然后是一个换行 然后才是 李四
'' 单引号会转义字符串里面的特殊字符
例:'张三\n李四' 表示出来的就是一个字符串 张三\n李四
2.使用缩进表示层级关系
3.缩进时不允许使用Tab键,只允许使用空格。
4.缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
5. 大小写敏感
二、yaml支持的三种数据结构
1、字面量:(普通的值:数字、字符串、布尔)
key: value
2.对象:Map(属性和值)。yaml语法中对象与Map的表现形式是一样的。
第一种写法:
user:
userName: 王晓明
userAge: 20
userSex: 男
第二种写法(行内写法):
user: {userName: 王晓明,userAge: 20,userSex: 男}
3.数组、集合(list、set)yaml语法中数组与集合的表现形式是一样的。
用-表示数组中的一个元素
studentArray
-student1
-student2
-student3
第二种写法(行内写法):
studentArray: [student1,student2,student3]
————————————————
版权声明:本文为CSDN博主「hejian_0534」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hejian_0534/article/details/100577740

1211

被折叠的 条评论
为什么被折叠?



