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

Shell脚本(篇3)

2019-05-17 23:40 976 查看

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 依次向左顺序移动。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: