国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

shell實現(xiàn)學生成績管理系統(tǒng)

2019-10-26 18:56:27
字體:
供稿:網(wǎng)友

本文實例為大家分享了shell實現(xiàn)學生成績管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

基本的操作

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

遇到的問題

1.增加學生信息時

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

總結(jié):重定向符號:

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

echo "hello world" > myfile

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

echo "hello world" >> myfile

2.刪除某一行學生信息

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

具體實現(xiàn)代碼

#! /bin/bash#查詢函數(shù)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  #關(guān)于輸出重定向,>代表覆蓋式的寫入 ,>>代表添加式的寫入  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}#顯示所有的記錄函數(shù)display(){  more ./record}#利用vim編輯器編輯函數(shù)edit(){ vim ./record}#屏幕幫助操作help(){ clear echo "this is a student record program by unix shell language!"}#推出程序quit(){ clear exit}clearwhile truedo  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            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 娄烦县| 桂林市| 刚察县| 秀山| 灌云县| 郑州市| 紫云| 泸水县| 南木林县| 定陶县| 邯郸县| 根河市| 开原市| 邵阳县| 湘乡市| 丹江口市| 芦山县| 嘉善县| 扎赉特旗| 新巴尔虎左旗| 会东县| 泾川县| 滨海县| 新乐市| 阆中市| 铁力市| 普定县| 运城市| 安西县| 通渭县| 堆龙德庆县| 高雄县| 金坛市| 蛟河市| 台安县| 南江县| 西城区| 白城市| 和政县| 甘德县| 青海省|