Ansible学习笔记11

Command和Shell模块:

两个模块都是用于执行Linux命令的,这个对于命令熟悉的工程师来说,用起来非常high。

Shell模块跟Command模块差不多(Command模块不能执行一类$HOME、> 、<、| 等符号,但是Shell是可以的。)

示例一:

bash 复制代码
[root@localhost ~]# ansible group1 -m command -a "useradd test2"
192.168.17.106 | CHANGED | rc=0 >>

192.168.17.105 | CHANGED | rc=0 >>

检查结果:

删除用户:

bash 复制代码
[root@localhost ~]# ansible group1 -m command -a "userdel -r test2"
192.168.17.106 | CHANGED | rc=0 >>

192.168.17.105 | CHANGED | rc=0 >>

检查结果:

示例二:

示例三:

bash 复制代码
[root@localhost ~]# ansible group1 -m shell -a "cd $HOME; pwd"
192.168.17.106 | CHANGED | rc=0 >>
/root
192.168.17.105 | CHANGED | rc=0 >>
/root
[root@localhost ~]#

说明:其中有;也是Command和Shell模块的区别之一。

需要说明的是,Shell模块也不是百分之百的任何命令都可以,比如vim和ll命令别名命令就不可以。不建议大家去记忆哪些命令不可以,只要养成习惯,在生产环境中都要进行下测试的习惯就好了。

使用Shell和Command和Script模块,我们就能做很多事情。

相关推荐
深盾科技19 分钟前
Linux跨进程内存操作的3种方法及防护方案
java·linux·网络
HalvmånEver20 分钟前
Linux:基础IO(一)
linux·运维·服务器
Lynnxiaowen20 分钟前
今天我们学习kubernetes内容持久化存储
linux·运维·学习·容器·kubernetes
Starry_hello world21 分钟前
Linux 信号
linux
KingRumn21 分钟前
Linux进程间通信之消息队列
linux·服务器·网络
jerryinwuhan22 分钟前
1210_linux_2
linux·运维·服务器
IDC02_FEIYA29 分钟前
Linux怎么看服务器状态?Linux查看服务器状态命令
linux·运维·服务器
爱潜水的小L36 分钟前
自学嵌入式day28,文件操作
linux·数据结构·算法
刚入坑的新人编程38 分钟前
Linux(小项目)进度条演示
linux·运维·服务器
IT运维爱好者1 小时前
【Linux】Python3 环境的下载与安装
linux·python·centos7