實驗三LINUXSHELL編程_第1頁
實驗三LINUXSHELL編程_第2頁
實驗三LINUXSHELL編程_第3頁
實驗三LINUXSHELL編程_第4頁
實驗三LINUXSHELL編程_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選文庫實驗三LINUX SHELL編程四、實驗內(nèi)容本實驗包含兩個具體的SHELL程序編寫任務(wù),較為全面地涉及了SHELL 程序的設(shè)計方法和技術(shù)。內(nèi)容如下:1、創(chuàng)建以下菜單程序:USER: *HOST: *DATE: */*/20*A: 創(chuàng)建子目錄并復(fù)制文件B: 文件權(quán)限測試C: 文件字符轉(zhuǎn)換D: 文件總數(shù)及文本行數(shù)統(tǒng)計E: 文件查找Q: 退出系統(tǒng)A :在用戶家目錄下創(chuàng)建名字為本人姓名的子目錄,其存取權(quán)限為(drwxr-xr-x) 。測試目錄確實存在后,將已存在的file1 、file2 兩文件拷入其中并分別顯示兩文件的內(nèi)容。顯示完成后將file1 、file2 兩文件截斷為大小為0 的空文件

2、。B:測試當前用戶對系統(tǒng)中某文件是否有r、w 、x 的權(quán)限,輸出測試結(jié)果。C:將 file1 、file2 兩文件中的小寫字符轉(zhuǎn)換為大寫,并將轉(zhuǎn)換后的內(nèi)容分別寫入新文件。判斷上述操作成功后分別顯示轉(zhuǎn)換后的新文件的內(nèi)容。D:統(tǒng)計 /dev 目錄下目錄文件和符號鏈接文件的數(shù)目;統(tǒng)計系統(tǒng)中某文本文件中空行的行數(shù);顯示當前系統(tǒng)中所有環(huán)境變量。E:在 /dev 目錄下查找由 s 開頭且文件名由5 個字符組成的文件,找到后用file 命令顯示其文件類型。#!/bin/bashUSER=WWcHOST=hostname -sMYDATE=date +%d/%m/%y精選文庫while :doclearcat

3、 << MAYDAY-User:$USERHost:$HOSTDate:$MYDATE-A:創(chuàng)建子目錄并復(fù)制文件B:文件權(quán)限測試C:文件字符轉(zhuǎn)換D:文件總數(shù)及文本行數(shù)統(tǒng)計E:文件查找Q:退出系統(tǒng)-MAYDAYecho -n "Please Choose A,B,C,D,E,Q"read CHOICEcase $CHOICE inA)echo "A: 創(chuàng)建子目錄并復(fù)制文件 "echo " 輸入要創(chuàng)建的文件名 :"read FILEmkdir $FILEchmod 755 $FILEtest -d $FILEif $? -eq

4、 0 thencp file1 $FILEcp file2 $FILEecho "file1內(nèi)容 "精選文庫cat file1:>$FILE/file1echo "file2內(nèi)容 "cat file2echo "#:>file2"fi;B)echo "B: 文件權(quán)限測試 "echo " 請輸入要測試的文件絕對路徑"read NAME1test -r $NAME1if $? -eq 0 thenecho " 可讀 "elseecho " 不可讀 "

5、;fitest -w $NAME1if $? -eq 0 thenecho " 可寫 "elseecho " 不可寫 "fitest -x $NAME1if $? -eq 0 thenecho " 可執(zhí)行 "elseecho " 不可執(zhí)行 "fi;精選文庫C)echo "C: 文件字符轉(zhuǎn)換 "cat file1 | tr "a-z" "A-Z" >file1.outdiff -q file1 file1.outif $? -eq 1 thenecho

6、 "file1.out內(nèi)容 "cat file1.outficat file2 | tr "a-z" "A-Z" >file2.outdiff -q file2 file2.outif $? -eq 1 thenecho "file2.out內(nèi)容 "cat file2.outfi;D)echo "/dev目錄下目錄文件和符號鏈接文件的數(shù)目"find /dev -type d | wc -lfind /dev -type l | wc -lecho "file1空行行數(shù)統(tǒng)計 &qu

7、ot;grep $ file1 | wc -lecho " 顯示當前系統(tǒng)中所有環(huán)境變量"env;E)echo " 文件查找 "find /dev -name 's?' | xargs file;Q)exit 0;精選文庫*)echo " 請輸入 ABCDEQ"esacread DDdone2、文件 pc.txt中保存了三個班級的學(xué)生選課成績,試編寫一段shell程序?qū)ξ募?nèi)容進行統(tǒng)計、計算后輸出各個班級選課的學(xué)生人數(shù)及每班選課成績的優(yōu)秀率。pc.txt文件內(nèi)容如下:Student1 : 1401: 75Student2

8、:1402: 96Student3 : 1403: 99Student4 : 1402: 93Student5 : 1403: 23Student6 : 1401: 77#!/bin/bashSAVEDIFS=$IFSIFS=:COUNT1401=0COUNT1402=0COUNT1403=0COUNT1=0COUNT2=0COUNT3=0RATE1=0RATE2=0RATE3=0while read STUDENT CLASS GRADEdocase $CLASS in1401)COUNT1401=expr $COUNT1401 + 1;1402)COUNT1402=expr $COUNT1

9、402 + 1;精選文庫1403)COUNT1403=expr $COUNT1403 + 1;esacif $CLASS -eq 1401 && $GRADE -ge 80 thenCOUNT1=expr $COUNT1 + 1fiif $CLASS -eq 1402 && $GRADE -ge 80 thenCOUNT2=expr $COUNT2 + 1fiif $CLASS -eq 1403 && $GRADE -ge 80 thenCOUNT3=expr $COUNT3 + 1fiRATE1=expr $COUNT1 * 100 / $COUNT1401RATE2=expr $COUNT2 * 100 / $COUNT1402RATE3=expr $COUNT3 * 100 / $COUNT1403done < pc.txtIFS=SAVDEIFSecho " 各個班級選課的學(xué)生人數(shù)"echo "1401 = $COUNT1401"echo "1402 = $COUNT1402"echo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論