shell如何實現學生成績管理系統

本文主要為大家詳細介紹了shell實現學生成績管理系統,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能幫助到大家。

基本的操作

增加
刪除
查詢
展示全部學生信息
vim編輯保存信息的文件

遇到的問題

1.增加學生信息時

增加學生信息時,我用的echo重定向到文件里,這里開始用的一個>,會導致覆蓋。以前的數據沒有了。

總結:重定向符號:

>:覆蓋型寫法 (文件里原來的內容被覆蓋)

echo?"hello?world"?>?myfile

>>:添加型寫法 (新內容添加在原來內容的后面)

echo?"hello?world"?>>?myfile

2.刪除某一行學生信息

開始不知道怎么刪除,最后查到了grep -v命令。
他表示反向選擇,亦即顯示出沒有 ‘搜尋字符串’ 內容的那一行。

具體實現代碼

#!?/bin/bash    #查詢函數  search()  {  ????clear  ????echo?-e?"Please?enter?name?>>>c"  ????read?NAME  ????#如果記錄為空  ????if?[?!?-f?./record?];then  ????????echo?"you?must?have?some?scores?before?you?can?search!"  ????????sleep?2  ????????clear  ????????return?  ????fi  ????#沒有輸入名字進行查詢  ????if?[?-z?"$NAME"?];then  ????????echo?"you?didn't?enter?a?name!"  ????????echo?-e?"Please?enter?name?>>>c"  ????????read?NAME  ????fi    ????grep?-i?"$NAME"?./record?2>?/dev/null    ????case?"$?"?in  ??????1)?echo?"Name?not?in?record."  ????????;;  ??????2)?echo?"you?didnt?eter?a?name?to?search";  ????????sleep?2;  ????????search;;  ????esac  }    #增加信息  add()  {  ????clear  ????echo?"Enter?name?and?score?of?a?record"  ????echo?-e?"c"  ????if?[?!?-f?./record?];then  ????????touch?record  ????fi    ????read?NEWNAME  ????#關于輸出重定向,>代表覆蓋式的寫入?,>>代表添加式的寫入  ????echo?"$NEWNAME"?>>./record    ????sort?-o?./record?./record  }    #刪除學生信息  delete()  {  ????clear?  ????echo?-e?"Please?enter?delete?name"  ????read?NAME    ????if?[?!?-f?./record?];then  ??????echo?"this?name?is?not?in?record"  ????else  ??????cp?record?record.bak  ??????rm?-f?record  ??????grep?-v?"$NAME"?./record.bak?>?record  ??????rm?-f?record.bak  ??????fi  }    #顯示所有的記錄函數  display()  {  ????more?./record  }    #利用vim編輯器編輯函數  edit()  {  ??vim?./record  }    #屏幕幫助操作  help()  {  ??clear  ??echo?"this?is?a?student?record?program?by?unix?shell?language!"  }    #推出程序  quit()  {  ??clear  ??exit  }    clear  while?true  do  ????echo?"*********************************************"  ????echo?"****?????student?record?menu????****"  ????echo?"*********************************************"  ????echo?"---------------------------------------------"  ????echo?"#############################################"  ????echo?"???????1-search?a?record???????"  ????echo?"???????2-add?a?record?????????"  ????echo?"???????3-delete?a?record???????"  ????echo?"???????4-dispaly?all?records?????"  ????echo?"???????5-edit?record?with?vim?????"  ????echo?"???????H-help?????????????"  ????echo?"???????Q-exit?????????????"  ????echo?"#############################################"  ????echo?-e?-n?"Please?enter?your?choice?[1,2,3,4,5,6,H,Q]:c"  ????read?CHOICE    ????case?$CHOICE?in  ????1)?search;;  ????2)?add;?clear;;  ????3)?delete;?clear;;  ????4)?display;;  ????5)?edit;?clear;;  ????H|h)?help;;  ????Q|q)?quit;;  ????*)?echo?"Invailid?choice!";  ????sleep?2;  ????clear;;  ????esac  ??done

shell如何實現學生成績管理系統shell如何實現學生成績管理系統

相關推薦:

學生成績管理系統

學生成績管理系統

學生成績管理系統

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享