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

相关推荐
sanzk8 小时前
firefly开发板ubuntu安装ros2下的micro-ROS Agent
linux·运维·ubuntu
weixin_3077791311 小时前
Linux下Nginx故障系统化检查Shell脚本
linux·运维·服务器·nginx·自动化
skyutuzz12 小时前
node安装部署
linux
一次旅行12 小时前
【AI工具】Rust-Based CLI:用 xargs 和并行加速你的 Linux 日常
linux·开发语言·rust
2501_9259633815 小时前
Hi3516CV610 + MPU6050 DMP 软件 EIS 防抖笔记
linux·运维·服务器
qetfw15 小时前
CentOS 7 基础环境配置
linux·运维·centos
天空'之城15 小时前
Linux 系统编程 21:守护进程与日志系统全解
linux·系统编程·日志系统·守护进程
l1t16 小时前
用split命令恢复被wget -c命令误追加的zip压缩包
linux
辉灰笔记17 小时前
MySQL8 意外关机/误移data目录导致服务启动失败 PID报错/权限报错 修复文档
linux·数据库·mysql·centos
ylscode18 小时前
CVE-2026-31694 漏洞深度分析:Linux 内核 FUSE 组件存在本地提权风险,普通用户可直取 root 权限
linux·运维·服务器