您的位置:首页 > 运维架构 > Shell

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

2011-01-06 10:11 351 查看
标签: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
目录,对比脚本执行前后



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: