shell编程(批量添加删除用户)

标签: shell 实验 脚本
Shell 脚本编程实验
一. 实验目的
(1)        掌握 Shell 编程的基本方法
(2)        了解 Shell 脚本的基础知识
二. 基础知识
(1)        Shell 脚本的基本知识
(2)        掌握 Linux 环境下 vi 编译器的使用方法
(3)        掌握 Linux 下基本命令的使用方法
三. 实验环境
(1)     硬件: PC Pentium500 以上,硬盘 40GB 以下,内存 128MB 以上
(2)     软件: PC 机操作系统 Red Hat Linux 9.0
四. 情景描述
设计一个 Shell 程序,添加一个新组 class1 ,然后添加属于这个组的 30 个用户,然后设计一个 Shell 程序,删除新添加的 30 用户及新添加的组
五. 完成实验所需时间:约 60 分钟
六. 完成一个简单 Shell 程序的编写和执行过程
目标:编写 Shell 脚本文件,以文件名 addusers 保存。通过改变文件的权限,使 addusers 能够顺利执行。
< > 编写 Shell 编程。
1.        进入 vim 编辑器
[root@localhost root]#vim addusers
2.        输入实验代码
#!/bin/sh    // 声明是个 Shell 脚本程序,用 sh 编译器
i=1;       // i 赋初值, i=1
groupadd class1 // 创建一个名为 class1 的组
while [ $i –le 30 ]  // while 循环语句判断是否满足条件,如果 i 小于等于 30 ,则一直执行 do 下面的语句,否则跳出循环。
  do                
if [ $i –le 9 ]  // 如果 i 小于等于 9 ,则执行 then 的语句,否则执行 else 下的语句
     then
              USERNAME=stu0${i}  // 将变量 stu0${i} 赋值给 USERNAME
   else
              USERNAME=stu${i} // 将变量 stu${i} 赋值给 USERNAME
   fi         //if fi 是成对出现的
 
useradd $USERNAME // 增加 $USERNAME 用户
chown –R $USERNAME /home/$USERNAME // 用递归的方式将 /home/$USERNAME 目录及其所有子目录、文件的主变成 $USERNAME 用户
chgrp –R class1 /home/$USERNAME // 用递归式将 /home/$USERNAME 目录及其下面的所有子目录和文件的用户组为 class1
i=$(($i+1))  //i 的值自加 1
done
 
while 语句
while 中,当一个给定的条件为真时,则一直循环执行 do 下面的语句,直到条件为假为止。 While 语句的表达式为:
While expression
do
Statements
done
if 语句
Shell 程序中的条件分支是通过 if 语句来实现的,其一般格式为:
if expression
then
  commands
else
  commands
fi
1.        完成代码的编写之后,按住 Esc 键之后,输入: wq 保存退出。
< > 修改 Shell 程序的权限
1.        输入命令
[root@localhost root]#chmod a+x addusers
2.        查看文件的属性
[root@localhost root]#ls –l addusers
< > 运行程序
1.        运行程序
[root@localhost root]#./addusers
2.        查看 /home 目录,对比脚本执行前后,
[root@localhost root]#ls –l  /home/
然后设计一个 Shell 程序,删除新添加的 30 个用及添加的组 class1
< > 编写 Shell 程序
1.        进入 vim 编辑器
[root@localhost root]#vim delusers
2. 输入以下实验代码
#!/bin/sh  // 声明是个 Shell 脚本程序,用 sh 编译器
i=1      // i 赋初值, i=1
while [ $i –le 30 ]  // while 循环语句判断是否满足条件,如果 i 小于等于 30 ,则一直执行 do 下面的语句,否则跳出循环
  do
   if [ $i –le 9 ]  // 如果 i 小于等于 9 ,则执行 then 的语句,否则执行 else 下的语句
     then
             USERNAME=$stu0${i}  // 将变量 stu0${i} 赋值给 USERNAME
   else
             USERNAME=$stu${i}  // 将变量 stu${i} 赋值给 USERNAME
fi
userdel $USERNAME  // 删除 $USERNAME 用户
rm –rf /home/$USERNAME // 删除 /home/ 目录下生产的 $USERNAME 文件夹
i=$(($i+1))  //i 自加 1
done  // 将自加后的 i 值返回 while 循环进行判断
groupdel class1  // 最后删除组 class1
 
3. 完成代码的编写之后,按 Esc 键之后,输入 :wq 保存退出
< > 修改 Shell 程序的权限
1.        输入命令
[root@localhost root]#chmod a+x delusers
2.        查看文件的属性
[root@localhost root]#ls –l delusers
< > 运行程序
1.        运行程序
[root@localhost root]#./delusers
2.        查看 /home 目录,对比脚本执行前后
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值