一、登录与切换用户

bash
运行
[root@test01 ~]# su – lcy
- su – lcy:切换到 lcy 这个普通用户,并加载 lcy 的环境变量(- 表示完整切换环境)
- 后面显示的登录时间、系统信息,都是系统自动欢迎信息,不是你输入的命令。
二、编辑并创建脚本
bash
运行
[lcy@test01 ~]$ vim first.sh
vim first.sh:用 vim 编辑器 创建并编辑一个叫 first.sh 的 shell 脚本文件。
三、查看文件
bash
运行
[lcy@test01 ~]$ ls
first.sh
ls:列出当前目录下的文件,看到刚创建的 first.sh
bash
运行
[lcy@test01 ~]$ ls -l
总用量 4
-rw-r–r–. 1 lcy lcy 35 3月 25 00:12 first.sh
- ls -l:详细查看文件权限、大小、修改时间
- 这里权限是 rw-r–r–,说明还没有执行权限。
四、给脚本加执行权限
bash
运行
[lcy@test01 ~]$ chmod u+x first.sh
- chmod u+x first.sh:给文件所有者(u=user) 添加 执行权限(x=execute)
bash
运行
[lcy@test01 ~]$ ls -l
-rwxr–r–. 1 lcy lcy 35 3月 25 00:12 first.sh

- 现在权限变成 rwx,说明可以执行了。
五、本地运行脚本


bash
运行
[lcy@test01 ~]$ ./first.sh
- ./first.sh:在当前机器(test01)上执行这个脚本
- 报错:ifconfig:未找到命令原因:openEuler 最小化安装默认没有 net-tools 工具包,ifconfig 不存在
- 但脚本里后面的 df 命令正常执行了,所以显示了磁盘信息。
六、手动查看磁盘(验证)
bash
运行
[lcy@test01 ~]$ df -hT
- df -hT:查看磁盘挂载、容量、使用率
-
- -h:人类易读格式(G、M)
- -T:显示文件系统类型(ext4、tmpfs 等)
七、用 Ansible 远程执行脚本(核心操作)

bash
运行
[lcy@test01 ~]$ ansible test02 -m script -a "first.sh"
这条是重点,拆开讲:
执行结果说明
plaintext
test02 | CHANGED => {
"rc": 0,
"stderr": "…ifconfig:未找到命令…",
"stdout": "磁盘信息…"
}
- CHANGED:Ansible 在远程执行了操作
- rc: 0:脚本整体执行成功(退出码 0 代表正常)
- ifconfig:未找到命令:远程机器 test02 也没装 ifconfig,和本机一样的问题
- 后面输出磁盘信息:说明脚本里 df 命令在 test02 上正常跑了
简单总结这一整套操作
小补充(解决 ifconfig 找不到)
openEuler 里想使用 ifconfig,安装工具包即可:
bash
运行
sudo dnf install net-tools -y

或者直接用替代命令:
bash
运行
ip addr




