1、寫乙個指令碼執行後,輸入名字,產生隨機數01-99之間的數字。
2、如果相同的名字重複輸入,抓到的數字還是第一次抓取的結果,
3、前面已經抓到的數字,下次不能在出現相同數字。
4、第乙個輸入名字後,螢幕輸出資訊,並將名字和數字記錄到檔案裡,程式不能退出
繼續等待別的學生輸入。
理性分析:乙個隨機數對應乙個名字,乙個名字可以對應多個數字,但數字不能重複出現。唉,,好像不能這麼理解,換成乙個隨機數對應乙個名字,乙個名字可以只能對應乙個數字,且數字不能重複出現
#!/bin/bash
while:do
read -p "請輸入名字:" name
if[ -f /tmp/test.log ]
;then
name1=
`cat /tmp/test.log |
awk -f: ''
|grep
"$name"
` if
["$name1"
!="$name"];
then
#名字不重複情況下
radomnum=
`echo $random |
awk -f ""''`
while:do
num=
`cat /work/test/1.log |
awk -f: ''
|grep
"$aa"
` if
["$radomnum"
=="$num"];
then
#數字已經存在情況下
echo
"該數字已存在!!!"
radomnum=
`echo $random |
awk -f ""''`
else
break
fidone
echo
"$name:$radomnum"
|tee -a /tmp/test.log
else
oldname=
`cat /tmp/test.log |
grep
"$name"
|awk -f: ''
` #名字重複
echo
"重複名字: "
$oldname
fielse
a=`echo $random |
awk -f ""''`
echo
"$name:$a"
|tee -a /tmp/test.log
fidone
測試
檢視test.log
linux用shell指令碼模擬時鐘 指令碼錄製
bin bash this is a clock,it will display time once a second,in the same position file name clock.sh tput sc while true do echo n date sleep 1 tput rc ...
用堆疊模擬佇列,和用佇列模擬堆疊
最近在看 演算法導論 第十章裡面有一題是用了 兩個堆疊模擬乙個佇列,我設計的演算法如下 堆疊a和b,a用作入隊,b出隊 1 判隊滿 如果a滿且b不為空,則隊滿 2 判隊空 如果a和b都為空,則隊空 3 入隊 首先判隊滿。若隊不滿 1 棧a若不滿,則直接壓入棧a 2 若a滿,則將a中的所有元素彈出到棧...
2018俄羅斯世界盃 模擬抽籤結果 (PHP版)
完善思路 在給朋友看了結果之後,朋友說有幾點需要注意,東道主一定在a組,還有為了體現東道主的的優勢,其同組對手都要相對較弱 另外,歐洲區國家外同組迴避,歐洲區最多兩支同組的迴避規則。所以結合一下需求,需要重新完善下程式哦,還是略複雜的是嗎?哪位來試試。歐洲區 1 俄羅斯 比利時 法國 葡萄牙 德國 ...