天天看點

Ansible 指令執行子產品(學習筆記九)command、rawshell、script

指令執行子產品有四個:command、raw、shell、script

command、raw

1、command為系統預設子產品,使用時可以直接省略:

ansible all -a "pwd"

Ansible 指令執行子產品(學習筆記九)command、rawshell、script

image.png

2、轉換到别的目錄中,執行程式,chdir為command子產品自帶的參數:

ansible all -a "pwd chdir=/tmp"

Ansible 指令執行子產品(學習筆記九)command、rawshell、script

3、command不支援管道指令:

Ansible 指令執行子產品(學習筆記九)command、rawshell、script

4、raw和command類似,兩個子產品都是調用遠端主機的指令,但是raw支援管道指令:

ansible all -m raw -a "cd /tmp;pwd"

Ansible 指令執行子產品(學習筆記九)command、rawshell、script

shell、script

5、shell子產品調用遠端主機的指令,支援shell特性,包括執行腳本、管道指令等:

ansible all -m shell -a "cd /tmp;pwd"

Ansible 指令執行子產品(學習筆記九)command、rawshell、script

6、shell直接執行腳本,執行的腳本放在遠端主機上:

ansible all -m shell -a "/root/test.sh"

Ansible 指令執行子產品(學習筆記九)command、rawshell、script

iamge.png

7、script隻能執行腳本,不能調用其他指令,但是script執行的是存放在ansbile管理機上的腳本,并且script不支援管道指令:

ansible all -m script -a "/root/test.sh"

Ansible 指令執行子產品(學習筆記九)command、rawshell、script

8、幾個子產品中,command是預設子產品,建議使用shell,功能較友善,script和shell的差別是一個執行控制端的腳本,一個執行遠端端的腳本。