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

相关推荐
闲云自留地21 小时前
课后作业-20260806-Linux iSCSI服务器
linux·运维·服务器
.冰块.21 小时前
P-SAN 实战:CentOS7 搭建 iSCSI Target 共享块存储
linux·服务器·iscsi
Kina_C21 小时前
Keepalived 单播模式实战:跨网络高可用的关键配置
linux·服务器·网络·keepalived
m0_743697591 天前
磁盘管理的相关知识
linux
先知后行。1 天前
内核中的侵入式链表,slub对象池,CAS
linux
艾莉丝努力练剑1 天前
Mac 远程桌面体验:6 个工具的 macOS 适配情况整理
linux·运维·服务器·macos·面试
酷可达拉斯1 天前
Linux操作系统-tcpdump抓包定位网络问题实战
linux·运维·服务器·网络·tcpdump
byte轻骑兵1 天前
BlueZ 5.x 整体架构总览:用户态 + 内核态分层设计核心逻辑
linux·架构·bluez·电脑蓝牙·嵌入式蓝牙
ltl1 天前
大多数「无锁」代码其实不是无锁的
linux
ltl1 天前
Linux 内核的内存屏障:一个让我调了三天的 bug
linux