제 비 뽑 기 게임, 제 비 뽑 기 1 ~ 99, 숫자 큰 사람 을 잡 으 면 승리, 출력 3 위

제목:http://oldboy.blog.51cto.com/2561410/1308647)
재 미 있 는 기업 셸 실전 프로 그래 밍 문제: 좋 은 소식, 늙 은 남자 아이 가 학생 들 에 게 기업 프로젝트 실천 기회 (6 차) 가 왔 다 (이 달 중순). 그러나 정원 이 제한 되 어 있 고 대원 은 3 명 (반장 인솔자) 으로 제한 된다.따라서 학생 을 뽑 아야 하기 때문에 제 비 뽑 기 프로그램 이 필요 합 니 다. 요구: 1. 스 크 립 트 를 실행 한 후에 가 고 싶 은 학생 은 영어 이름 을 모두 입력 하고 난수 01 - 99 사이 의 숫자 를 만 듭 니 다. 숫자 가 클 수록 프로젝트 실천 에 참가 합 니 다. 앞에서 잡 은 숫자 는 다음 에 같은 숫자 가 나 오 면 안 됩 니 다.2. 첫 번 째 로 이름 을 입력 한 후에 화면 에 정 보 를 출력 하고 이름과 숫자 를 파일 에 기록 합 니 다. 프로그램 은 다른 학생 의 입력 을 계속 기다 리 는 것 을 종료 할 수 없습니다.
#!/bin/bash
read -p "Please enter your name:" -t 10 name
if [ $? -ne 0 ]
then
 echo -e "
!!!!!!Enter is timeout!!!!!!" exit 1 fi touch temp result cat /dev/null > result cat /dev/null > temp while true do if [ $(grep ^$name result|wc -l) -ge 1 ] then echo "This name is exist" fi if [ "$name" == "exit" ] then rm temp -f echo "******************************" echo "The result of the top three:" sort -k3rn result|head -3 echo "******************************" exit 1 fi if [ -z $name ] then echo "Your name is null." read -p "Please enter your name:" fi number=$(($RANDOM%99+1)) if [ $(grep "^$number$" temp | wc -l) -eq 0 ] && [ $(grep ^$name result|wc -l) -eq 0 ];then echo "$name is $number" >> result echo "$name is $number" echo $number >> temp if [ $(cat temp|wc -l) -ge 99 ];then echo -e "The number out of range.
exit!!!" rm temp -f echo "******************************" echo "The result of the top three:" sort -k3rn result|head -3 echo "******************************" exit 1 fi fi echo "Enter 'exit' end the process!" read -p "Please enter your name:" -t 10 name if [ $? -ne 0 ] then echo -e "
!!!!!!Enter is timeout!!!!!!!" echo "******************************" echo "The result of the top three:" sort -k3rn result|head -3 echo "******************************" exit 1 fi sleep 0.1 done

좋은 웹페이지 즐겨찾기