标签:2017年最新企业面试题之shell(四) while main 函数 shell
2017年最新企业面试题之shell(四)
一、抽签脚本(1)要求如下:
1、写一个脚本执行后,输入名字,产生随机数01-99之间的数字;
2、输入名字后,屏幕输出信息,并将名字和数字记录到文件里;
3、如果相同的名字重复输入,脚本给予提示“名字重复”,要求该学生重新输入并不将本次输入记录到文件里;
4、程序不能退出继续等待别的学生输入。
脚本图片如下:
脚本文档如下:
#!/bin/sh fun0(){ printf "$name $num\n" >/dev/null } fun1(){ read -p "请输入你的名字:" name } fun2(){ num=$[ RANDOM%100 ] echo $name echo $num printf "$name $num\n" >>/root/name.txt usleep 2000000 #clear } fun1 fun2 fun3(){ bb=$(grep "$name" /root/name.txt|awk ‘{print $1}‘) if [ -z "$bb" ];then echo "可以使用" else echo "名字重复" && fun0 && main fi } main(){ while true do fun1 fun3 fun2 done } main
二、抽签脚本(2)要求如下:
1、写一个脚本执行后,输入名字,产生随机数01-99之间的数字;
2、输入名字后,屏幕输出信息,并将名字和数字记录到文件里;
3、如果相同的名字重复输入,脚本给予提示“名字重复”,要求该学生重新输入并不将本次输入记录到文件里;
4、前面已经抓到的数字,下次不能再出现相同数字;
5、程序不能退出继续等待别的学生输入。
脚本图片如下:
脚本文档如下:
#!/bin/sh fun0(){ printf "$name $num\n" >/dev/null } fun1(){ read -p "请输入你的名字:" name } fun2(){ num=$[ RANDOM%100 ] echo $name echo $num printf "$name $num\n" >>/root/name.txt usleep 2000000 #clear } fun1 fun2 fun3(){ bb=$(grep "$name" /root/name.txt|awk ‘{print $1}‘) if [ -z "$bb" ];then echo "可以使用" else echo "名字重复" && fun0 && main fi } fun4(){ mm=$(grep "$num" /root/name.txt|awk ‘{print $2}‘) if [ -z "$mm" ];then echo "可以使用" && printf "$name $num\n" >>/root/name.txt && main else echo "数字重复" && fun0 && main fi } fun5(){ num=$[ RANDOM%100 ] echo $name echo $num } main(){ while true do fun1 fun3 fun5 fun4 done } main
本文出自 “圣骑士控魔之手” 博客,请务必保留此出处http://wutengfei.blog.51cto.com/10942117/1963545
标签:2017年最新企业面试题之shell(四) while main 函数 shell
原文地址:http://wutengfei.blog.51cto.com/10942117/1963545