ansible从入门到入土:对剧本进行语法检查及真/伪执行剧本 | 您所在的位置:网站首页 › 怎么测试shell脚本是否正确 › ansible从入门到入土:对剧本进行语法检查及真/伪执行剧本 |
1、语法检查的作用
在shell脚本中可以使用-n来检查语法是否正确,通过语法检查可以大大的降低了脚本开发时间,那么作为一款热门的自动化工具,ansible也支持语法检查,下面一起来了解一下。 2、如何进行语法检查在ansible中,我们可以通过剧本去实现脚本的一个功能,可以把剧本理解为我们的Shell脚本,大家都知道,写脚本难免会出现一些Bug之类的,而写剧本也同样会遇到这种情况,那么这时候通过语法检查就可以快速解决问题了。 语法如下: ansible-playbook --syntax-check然后我们对下面这个剧本进行检查: 2.1、正确语法 - hosts: hello #使用的主机列表 connection: ssh #连接方式 remote_user: root #使用的远程用户 tasks: - name: install git yum: name=git,net-tools state=installed #安装git、net-tools - name: Unstaller mariadb yum: name=mariadb-server state=installed #卸载mariadb-server如果检查没问题,那么就会输出被检查的文件名,下面看一下错误语法 2.2、错误语法 - hosts: hello #使用的主机列表 connection: ssh #连接方式 remote_user: root #使用的远程用户 tasks: - name: install git yum: name=git,net-tools state=installed #安装git、net-tools - name: Unstaller mariadb yu: name=mariadb-server state=installed #卸载mariadb-server此时就会提示: ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect 大致意思就是: 错误!在任务中未检测到操作。这通常表示模块名称拼写错误或不正确 然后提示是在第七行,也就是 - name: Unstaller mariadb 出错了,我们仔细看就可以看到,我在第八行的模块写的是yu,正确的应该是yum,所以报错了,然后修改,继续检查 - hosts: hello #使用的主机列表 connection: ssh #连接方式 remote_user: root #使用的远程用户 tasks: - name: install git yum: name=git,net-tools state=installed - name: Unstaller mariadb yum: name=mariadb-server state=installed然后就成功了 3、执行剧本执行剧本有两种方式,如下: 名称作用伪执行ansible-playbook -C 模拟执行,主要用于排错,不会产生实际影响执行ansible-playbook 直接执行 3.1、伪执行 ansible-playbook -C yum.yaml执行效果 3.2、执行 ansible-playbook yum.yaml执行效果 相关文章:ansible从入门到入土:常用模块---->apt模块 ansible从入门到入土:教你如何编写ansible剧本实现yum安装软件 ansible从入门到入土:对剧本进行语法检查及真/伪执行剧本 ansible从入门到入土:带你从安装到实现“hello world |
CopyRight 2018-2019 实验室设备网 版权所有 |