天天看點

2017年最新企業面試題之shell(四)

2017年最新企業面試題之shell(四)

一、抽簽腳本(1)要求如下:

1、寫一個腳本執行後,輸入名字,産生随機數01-99之間的數字;

2、輸入名字後,螢幕輸出資訊,并将名字和數字記錄到檔案裡;

3、如果相同的名字重複輸入,腳本給予提示“名字重複”,要求該學生重新輸入并不将本次輸入記錄到檔案裡;

4、程式不能退出繼續等待别的學生輸入。

腳本圖檔如下:

2017年最新企業面試題之shell(四)
腳本文檔如下:

#!/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)要求如下:

4、前面已經抓到的數字,下次不能再出現相同數字;

5、程式不能退出繼續等待别的學生輸入。

2017年最新企業面試題之shell(四)
#!/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      

繼續閱讀