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 �Cle 30 ]  // while 循环语句判断是否满足条件,如果 i 小于等于 30 ,则一直执行 do 下面的语句,否则跳出循环。
 do               
if [ $i �Cle 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 �CR $USERNAME /home/$USERNAME // 用递归的方式将 /home/$USERNAME 目录及其所有子目录、文件的主变成 $USERNAME 用户
chgrp �CR 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 �Cl addusers
< > 运行程序
1.       运行程序
[root@localhost root]#./addusers
2.       查看 /home 目录,对比脚本执行前后,
[root@localhost root]#ls �Cl  /home/
然后设计一个 Shell 程序,删除新添加的 30 个用及添加的组 class1
< > 编写 Shell 程序
1.       进入 vim 编辑器
[root@localhost root]#vim delusers
2. 输入以下实验代码
#!/bin/sh  // 声明是个 Shell 脚本程序,用 sh 编译器
i=1      // i 赋初值, i=1
while [ $i �Cle 30 ]  // while 循环语句判断是否满足条件,如果 i 小于等于 30 ,则一直执行 do 下面的语句,否则跳出循环
 do
   if [ $i �Cle 9 ]  // 如果 i 小于等于 9 ,则执行 then 的语句,否则执行 else 下的语句
     then
             USERNAME=$stu0${i}  // 将变量 stu0${i} 赋值给 USERNAME
   else
             USERNAME=$stu${i}  // 将变量 stu${i} 赋值给 USERNAME
fi
userdel $USERNAME  // 删除 $USERNAME 用户
rm �Crf /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 �Cl delusers
< > 运行程序
1.       运行程序
[root@localhost root]#./delusers
2.       查看 /home 目录,对比脚本执行前后
 
 
哈 哈!!终于完成了。。。

你可能感兴趣的:(编程,shell,休闲,实验,Linxu)