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模块,我们就能做很多事情。

相关推荐
佳児素花痴╮13 小时前
Linux IO模型详解:从阻塞到多路复用
linux·运维·服务器
朝发如雪13 小时前
快速掌握Linux(4)(进程)
java·linux·服务器
啦啦啦啦啦zzzz13 小时前
共享内存的网络聊天室
linux·服务器·网络·c++·网络编程
Tanner_SL13 小时前
Linux笔记之vim操作
linux·vim
用户0413284651314 小时前
Linux 查看端口占用的 6 种方法:ss、netstat、lsof 实战
linux
二宝哥14 小时前
Rocky Linux 10.2 安装 PostgreSQL 15 完整教程
linux·运维·postgresql
不会就选b14 小时前
Linux之线程池(二)
linux·运维·服务器
M78佐菲14 小时前
Linux学习笔记:进程回收、exec函数簇与线程
linux·笔记·学习·算法
OpenFDE开源桌面14 小时前
实操:如何将安卓 App与Linux系统应用级融合(附代码)
android·linux
Nontee14 小时前
Quartz 集群 + 策略模式:逾期预警推送系统设计实录
linux·服务器·策略模式