Ansible之模块参数(二)

前一篇文章咱们说了,若是你不加-m这个参数,默认是使用command这个模块的,可是你要跟-a这个参数,就是Linux的命令和参数,那么应该是什么格式呢?linux

网上搜了一把,就举个栗子:
[root@controller ~]# ansible webservers -a 'ls -l /tmp/'web

运行结果以下图:
Ansible之模块参数(二)shell

对于命令格式,简单说一下:
ansible:给你干活的工具名,必需要有
webservers:在ansible的hosts仓库中定义一堆服务器的组名,包含多个服务器的主机名和(或)IP地址
-a:这个就是你要用的模块的参数,要放在引号里,这个很重要,不加引号会报错的。至因而单引号仍是双引号,默认你用单引号,有错误了再换双引号试试。服务器

'ls -l /tmp/':单引号里面的,就是Linux的shell命令,ls就是list命令了ide

从结果来看,ansible基本也是按照linux的命令结果给你输出的,没什么能够讲的。工具

so,以上的命令=ansible webservers -m shell -a 'ls -l /tmp/'
来,运行一把看看结果:
Ansible之模块参数(二)server

如出一辙,有木有。blog

因此,复习一下模块参数:it

  1. -m这个是必需要有的,若是没有,默认是用的shell这个模块,这个时候-a后面必定是跟的shell命令的参数,不然的话会出错的。
  2. -a这个是必需要有的,无论-m这个有没有,参考第1条。这个-a后面参数的格式,是要根据-m你所用到的模块名来写的。

那下一篇,咱们就介绍如何查看模块-a的使用说明。class

相关文章
相关标签/搜索