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

相关推荐
chenlance3 小时前
PADS灌铜、覆铜过程和技巧小汇总
linux·服务器·网络
HideF4 小时前
【无标题】
linux
高山有多高4 小时前
【Linux笔记】NAT与内网穿透
linux
迷途之人不知返4 小时前
自主实现一个简单的shell命令行
linux
顺风尿一寸5 小时前
深入 Linux 6.18 挂载机制:从 VFS 到 ext4 的完整调用链
linux
她说彩礼65万5 小时前
C语言 assert
java·linux·c语言
lcj25116 小时前
【Linux】 Makefile 详解
linux·笔记·面试
天疆说6 小时前
腾讯会议 Linux 版在 NVIDIA 显卡上看不到画面:EGL 像素配置与窗口视觉不匹配的排查与修复
linux·数据库·腾讯会议
geats人山人海6 小时前
linux 2 基本操作与vim
linux·运维·vim
lisanmengmeng7 小时前
NRPE 添加命令(三)
java·linux·服务器