1.编写uaddfor.sh脚本,根据用户名列表快速添加用户账号。
需要添加的账号名称保存在/root/users.txt文件中,每行一个用户名。要求在执行uaddfor.sh脚本后,能够为这些用户名快速添加好系统账号,并将登录密码设置为1234567。
1)准备测试用的账号列表文件
[root@svr5 ~]# vim /root/users.txt
lin
tao
liang
2)编写uaddfor.sh脚本文件
[root@svr5 ~]# vim uaddfor.sh
#!/bin/bash
ULIST=$(cat /root/users.txt)
for UNAME in $ULIST
do
useradd $UNAME
echo "1234567" | passwd --stdin $UNAME &> /dev/null
done
[root@svr5 ~]# chmod +x uaddfor.sh
3)测试、验证执行效果
[root@svr5 ~]# tail -3 /etc/passwd
lin:x:527:527::/home/linzhiying:/bin/bash
tao:x:528:528::/home/guotao:/bin/bash
liang:x:529:529::/home/tianliang:/bin/bash
2.编写sumwhile脚本,计算从1-100之间所有整数的和。
1)编写sumwhile.sh脚本文件
[root@svr5 ~]# cat sumwhile.sh
#!/bin/bash
sum=0 ; i=1
while [ $i -le 100 ]
do
let sum+=$i
let i++
done
echo "1-100的总和是:$sum"
[root@svr5 ~]# chmod +x sumwhile.sh
2)测试、验证执行效果
[root@svr5 ~]# ./sumwhile.sh
1-100的总和是:5050
3.简述Linux服务脚本中的case分支结构。
Linux服务脚本通常利用$1位置变量来获取控制参数,并结合case分支来做出不同的响应,典型的结构如下:
case "$1" in //检查第一个位置参数
start)
echo "启动服务.. .." ;; //启动服务的语句块
stop)
echo "停止服务.. .." ;; //停止服务的语句块
restart)
$0 stop //停止服务
$0 start //启动服务
;;
*)
echo $"用法: $0 {start|stop|restart}" //提示正确用法
exit 1
esac
4.简述定义一个Shell函数的两种方法。
方法1:
function 函数名 {
命令序列
.. ..
}
方法2:
函数名() {
命令序列
.. ..
}
5.简述Shell环境常见的中断及退出控制指令。
break:跳出当前所在的循环体,执行循环体后的语句。
continue:跳过循环体内余下的语句,重新判断条件以便执行下一次循环。
exit:退出脚本,默认返回值是 0。
return:用在函数里 指定返回值。
shift:用于迁移位置变量,将 $1~$9 依次向左顺序移动。