您的位置:首页 > 其它

ansible常用模块介绍:command&&raw

2020-11-10 19:47 281 查看

简介

上文介绍了ansible的shell模块,今天要为大家分享的是command模块和raw模块的使用。

command和raw模块和shell一样,都是用于执行shell命令,三者都不具备幂等性,如果有能替代的ansible模块,尽量不要说使用该模块。

对比

模块用途特点
shell均用于执行shell模块可以使用环境变量,也可以使用变量和操作符(例如 '|', '<', '>', '&')
commandcommand不可以使用环境变量,也支持变量操作符,相对shell安全一些
raw被执行机器上没安装python环境也可以执行,直接使用shell

帮助

command模块

ansible-doc -s command
- name: Executes a command on a remote node
action: command
chdir # cd into this directory before running the command
creates # a filename or (since 2.0) glob pattern, when it already exists, this step will *not* be run.
executable # change the shell used to execute the command. Should be an absolute path to the executable.
free_form= # the command module takes a free form command to run. There is no parameter actually named 'free form'. See the examples!
removes # a filename or (since 2.0) glob pattern, when it does not exist, this step will *not* be run.
warn # if command warnings are on in ansible.cfg, do not warn about this particular line if set to no/false.

raw模块

ansible-doc -s raw
- name: Executes a low-down and dirty SSH command
action: raw
executable # change the shell used to execute the command. Should be an absolute path to the executable. when using privilege escalation
(`become'), a default shell will be assigned if one is not provided as privilege escalation
requires a shell.
free_form= # the raw module takes a free form command to run

command和raw模块的参数和shell一致,具体可以参考shell

例子

可以将前文shell模块例子部分的-m shell换成-m command或者-m raw。

例如

ansible -i /etc/ansible/hosts local -m command -a 'pwd'
ansible -i /etc/ansible/hosts local -m raw -a 'pwd'

有任何疑问和建议,请在下方留言~

博主:测试生财

座右铭:专注测试与自动化,致力提高研发效能;通过测试精进完成原始积累,通过读书理财奔向财务自由。

csdn:https://blog.csdn.net/ccgshigao

博客园:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: