Ansible之模塊參數(二)

前一篇文章我們說了,如果你不加-m這個參數,默認是使用command這個模塊的,但是你要跟-a這個參數,就是Linux的命令和參數,那麼應該是什麼格式呢?

網上搜了一把,就舉個栗子:
[root@controller ~]# ansible webservers -a 'ls -l /tmp/'

運行結果如下圖:
Ansible之模塊參數(二)

對於命令格式,簡單說一下:
ansible:給你幹活的工具名,必須要有
webservers:在ansible的hosts倉庫中定義一堆服務器的組名,包含多個服務器的主機名和(或)IP地址
-a:這個就是你要用的模塊的參數,要放在引號裏,這個很重要,不加引號會報錯的。至於是單引號還是雙引號,默認你用單引號,有錯誤了再換雙引號試試。

'ls -l /tmp/':單引號裏面的,就是Linux的shell命令,ls就是list命令了

從結果來看,ansible基本也是按照linux的命令結果給你輸出的,沒什麼可以講的。

so,以上的命令=ansible webservers -m shell -a 'ls -l /tmp/'
來,運行一把看看結果:
Ansible之模塊參數(二)

一模一樣,有木有。

所以,複習一下模塊參數:

  1. -m這個是必須要有的,如果沒有,默認是用的shell這個模塊,這個時候-a後面一定是跟的shell命令的參數,否則的話會出錯的。
  2. -a這個是必須要有的,不管-m這個有沒有,參考第1條。這個-a後面參數的格式,是要根據-m你所用到的模塊名來寫的。

那下一篇,我們就介紹如何查看模塊-a的使用說明。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章