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 小时前
拆开一个 .rpm 文件,里面到底装了什么?
linux
wuminyu21 小时前
JDK21 FFM异步读取MSG_ZEROCOPY错误队列揭秘
java·linux·c语言·jvm·c++
Eloudy21 小时前
sunshine - ubuntu 22.04, moonlight - mac OS26 远程桌面
linux·运维·ubuntu
苍狗T21 小时前
K8s 集群实战:基于 Harbor 私有仓库 + cri‑dockerd 完整部署
linux·运维·云原生·容器·kubernetes
石小千21 小时前
X86下载 ARM 架构的包
linux·运维
殷忆枫21 小时前
嵌入式Linux下基于FFmpeg实现MP4解码为JPG图片(SSD202D交叉编译实战)
linux·运维·ffmpeg
吃不吃早饭21 小时前
RHEL9 搭建 Harbor 私有仓库与 Ansible 自动化部署 Kubernetes 运行环境完整实践
kubernetes·自动化·ansible
牢姐与蒯1 天前
Linux进程(二)之进程概念
linux·运维·服务器·ubuntu
草莓熊Lotso1 天前
【Redis 初阶】Hash 类型深度解析:结构化数据存储的最优解
linux·网络·数据库·redis·tcp/ip·缓存·哈希算法
jieshenai1 天前
Shell 脚本如何定位项目根目录——从一个 8 行的小脚本讲起
linux·运维