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

相关推荐
吾诺17 分钟前
如何在Linux中找到MySQL的安装目录
linux·运维·mysql
lijwsunyt19 分钟前
Ubuntu虚拟机部署OpenClaw全踩坑实录|本地访问+模型配置一站式解决
linux·运维·ubuntu
悲伤小伞26 分钟前
10-MySQL_事务管理
linux·数据库·c++·mysql·centos
朱一头zcy33 分钟前
Linux系列04:简单理解inode、硬链接、软链接、挂载的概念
linux·笔记
郭庆汝1 小时前
Ubuntu安装Node.js
linux·ubuntu·node.js
我去流水了1 小时前
【独家免费】【亲测】在linux下嵌入式linux的web http服务【Get、Post】,移植mongoose,post上传文件
linux·运维·前端
无籽西瓜a1 小时前
Linux 文件权限与 chmod 详解
linux·服务器·后端
攻城狮在此1 小时前
Rufus使用教程:Windows/Linux 系统启动盘制作
linux·服务器·windows
尽兴-1 小时前
Elasticsearch 8.14.3 安装部署实战:Windows/Linux + Kibana + 常用插件
linux·windows·elasticsearch·kinana·es 浏览器插件
DARLING Zero two♡1 小时前
CentOS 部署 Teemii:打造专属私人漫画阅读库
linux·运维·centos