2017企业shell面试题

在这里插入图片描述
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值