版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、練習07 _ shell程式設計一、單一選擇1.以下哪個命令用于定義shell的全局變量(d)A.exportfsB。aliasC.exportsD。export2.shell腳本用于讀取文件中的單個域內容并將其分配給shell變量的命令為(d)。A.fold B. joinC.tr D. read3.如果字符串用雙引號()括起來,shell將使用(c)。A.解釋引號中的特殊字符b .執(zhí)行引號中的命令C.不解釋引號中的特殊字符。d .結束進程以下哪個環(huán)境變量表示當前路徑(b)?A.路徑B. PWDC.首頁d .根目錄5.shell不僅是(用戶命令的解釋程序),還是功能強大的編程語言,(bash
2、)是Linux的默認shell。6.您創(chuàng)建的shell程序必須在運行之前對此腳本文件授予(執(zhí)行)權限。7.對于Shell腳本程序,如果輸入?yún)?shù)數(shù)大于9,程序可以使用(Shell)命令遍歷每個參數(shù)。8.指定腳本程序的執(zhí)行權限的命令和參數(shù)為(chmod a x filename)。9.在shell編程中,使用方括號表示測試條件的規(guī)則在方括號兩側必須有(空格)。10.在shell命令中輸入一些字符后,可按(tab)鍵補充其馀部分。11.變更指令提示的環(huán)境變數(shù)為(PS1)。11.grep-e hh ENR (y | ieta)文件的功能是:(在文件文件中查找Henry、Henry、Henrietta或
3、Henrietta)。以下是命令終端下的屏幕快照。以下兩句話的結果如下:(the home path is $HOME)。Path= the home path is $ home Echo $path13.以下是程序名為Prog的程序的內容:Sh Prog a b c d的運行結果為(c)。Set A B C DShiftShiftEcho $1三、簡單的回答1.shell程序如下所示,其后試圖解釋#(n)形式的語句,并說明程序完成的功能。#!/bin/shDIRNAME=ls /root | grep bak#(1)if-z $ DIRNAME ;Then#(2)mkdir/root/ba
4、k;Cd /root/bak#(3)FiYY=date % yMM=date % mDD=date %d#(4)backetc=$ YY $ mm $ DD _ etc . tar . gz #(5)Tarzvf $ backetc/etc # (6)echo“file back finished!”A: #(1)獲取/根目錄中包含bak的文件或目錄#(2)判斷1結果為空#(3)創(chuàng)建目錄/root/bak,然后導航到該目錄#(4)獲得當前時間的年月日#(5)年(2個字符)月(2個字符)日(2個字符)_etc方式配置歸檔文件名#(6)壓縮etc目錄并在/root/bak中保存6分鐘程序功能:如果
5、/root/bak不存在,請創(chuàng)建它,然后按日期將/etc打包到該目錄中。兩點2.什么是位置變量?shell的變量類型是什么?a:位置變量是命令行上載傳遞給程序的參數(shù)。shell變量可以分為用戶定義的變量、環(huán)境變量、位置變量和特殊變量3.下面是shell程序。然后嘗試解釋#(n)形式的語句,并說明程序完成的功能。#!/bin/bash #(1)Dir=$1 #(2)If -d $dir #(3)ThenCd $dir #(4)For file in *DoIf -f $file #(5)ThenCat $file #(6)Echo end of file $file Fi完成Elseecho“b
6、ad目錄名稱$dir”FiA: #(1)要解釋腳本,請使用/bin/bash#(2)將位置變量1賦給變量dir#(3)如果dir引用目錄#(4)將當前目錄更改為dir#(5)重復變量file引用常規(guī)文件時#(6)顯示文件文件的內容6點程序功能:如果命令行參數(shù)是有效的目錄,則顯示該目錄下所有常規(guī)文件的內容;否則,顯示無效的目錄名信息。4.接受用戶在鍵盤上輸入的100個整數(shù),然后編寫一個shell程序,求出其總和、最大值和最小值。A: #!/bin/shRead maxMin=$maxSum=$maxI=1While $i -lt 100DoRead xSum=expr $sum $x 。If $
7、max -lt $xThenMax=$xFiIf $ x -lt $minThenMin=$xFiI=expr $i 1 完成Echo sum=$ sumMax=$max min=$min 5.生成從用戶接收10個數(shù)字并顯示已輸入的最大數(shù)量的shell腳本。參考程序:#!/bin/bashMax=0for(count=1);Count=10Count=count 1)DoEcho -n Enter number $count : Read valueIf $max -lt $valueThenMax=$valueFi完成6.如果普通用戶希望在每個星期日上午0:00將/user/backup定期
8、備份到/tmp目錄,該用戶怎么辦?見答復:(1)第一種方法:必須使用Crontabe命令創(chuàng)建crontab文件。格式如下:0 0 * * sun CP-r/user/backup/tmp(2)第二種方法:用戶首先在自己的目錄下創(chuàng)建一個新文件文件,內容如下:0 * * sun CP-r/user/backup/tmp然后運行crontab file以應用它。7.編寫shell腳本以驗證給定字符串是否為回文(palindrome)。參考程序:#!/bin/bashecho“Enter string”Read strLen=echo $str | WC -c 。Len=expr $len-1 L=e
9、xpr $len/2 Ctr=1Flag=0While test $ctr -le $lDoA=echo $str | cut -c$ctr B=echo $str | cut -c$len 。If test $a -ne $bThen flag=1BreakFiCtr=expr $ctr 1 Len=expr $len-1 完成If test $flag -eq 0Then echo String is palindrome else echo“String not a palind Rome”Fi8.在UNIX/Linux系統(tǒng)上,環(huán)境變量非常重要,請在字符界面中嘗試以下操作:(1)如何獲取
10、PATH變量的角色,PATH的值?(2) UNIX/Linux系統(tǒng)中超級用戶的環(huán)境變量PATH是否可以包含當前目錄?(3)如果超級用戶的當前目錄中有可執(zhí)行文件mypro,該如何運行(創(chuàng)建運行時鍵盤輸入)?(4)如何使用此命令在后臺運行(創(chuàng)建運行時鍵盤輸入)?A: (1) PATH是命令搜索路徑,由echo $PATH命令表示。(2)在UNIX/Linux上的PATH變量中,指定當前路徑(.),不能包含(3)。/我的親;(4)。/my pro9.設計計算n的階乘的shell程序。要求:(1)在命令行中,接受參數(shù)n。(2)進程開始后立即顯示n的合法性,即是否有自變量,是否有正整數(shù),如果非法,則顯示
11、錯誤提示。(3)最終計算結果。參考代碼:#!/bin/shif$ #-eq 0;Then echo -e $0 no Params。 a n ;exit 0;Fix= echo $ 1 | awk/: digit :/ print $ 0 。If x$x != x ;Then echo -e Input: $* error! a ;exit 1;Fifact=1;Tmp=1While $tmp -le $1DoFact=$(fact*tmp) Tmp=$(tmp)完成Echo fact=$fact 4.薄殼程式如何為使用者變數(shù)指定值?簡述了每種分配方法的使用方法。(1)等號分配1)等號前后不能
12、有空格。2)如果需要將包含空格的字符串指定給用戶變量,請應用單引號將字符串括起來。(2)鍵盤分配通過Read命令實現(xiàn)。用法:read用戶變量名稱當shell程序在該行上運行時,等待用戶從鍵盤輸入。用戶按enter鍵時,shell將用戶輸入的內容指定給用戶變量。(3)命令替代分配用法如下:用戶變量=命令此語句首先執(zhí)行后單引號之間的命令。然后,將運行后輸出的內容指定給相應的用戶變量。在此分配方法中等號前后不能有空格,命令必須用單引號(即重音)括起來。10.編寫彈出菜單的shell程序并實現(xiàn)簡單的菜單功能。* * * * * * * * * * * * * * * * * * * * * * * *
13、 * * * * * * * * * * * * * * * * * * * * * * MENU * 1.copy 2.rename * 3.remove 4.find * 5.exit * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *如果按數(shù)字1,系統(tǒng)將提示您在輸入源文件名和目標文件名后執(zhí)行復制。輸入要重命名的文件或目錄后,要提示重命名,請輸入數(shù)字2。如果輸入數(shù)字3,系統(tǒng)將提示您輸入要刪除的文件并執(zhí)行刪除操作。如果輸入數(shù)字4,系統(tǒng)將提示您輸入要查找的文件并執(zhí)
14、行查找操作。輸入數(shù)字5將結束菜單shell程序的執(zhí)行。#!/bin/sh-Clearwhile0;Doecho * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *Echo“菜單”echo“1 . copy 2 . rename”echo“3 . remove 4 . find”echo“5 . exit”echo * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *回聲Echo -n select: Read choice回聲Case $choice in1)echo-n“source file :”Read src回聲Echo -n destination fold: Read desCp -arf $src $desIf $?ThenEcho copy suce
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店集團財務制度
- 村集體建立相關財務制度
- 甘肅省社會團體財務制度
- 街道辦事處健全財務制度
- 小企業(yè)公司內部財務制度
- 雙簽字雙負責財務制度
- 農村公廁管護制度
- 醫(yī)院出入人員管理制度范本(3篇)
- 標點地產(chǎn)策劃活動方案(3篇)
- 常熟裝修施工方案(3篇)
- 2026年科技型中小企業(yè)評價入庫代理合同
- 亞馬遜招商策劃方案
- 《JBT 6695-1993 汽輪機潤滑油系統(tǒng) 技術條件》(2026年)實施指南
- 雨課堂學堂云在線《天網(wǎng)追兇》單元測試考核答案
- 充電樁銷售合同范本
- 行業(yè)協(xié)會成立及運營管理模板
- 2025年及未來5年中國金屬鎂行業(yè)市場供需格局及行業(yè)前景展望報告
- 水磨鉆施工專項施工方案
- 000現(xiàn)行有效的國鐵集團技術標準目錄(截止2024-12-31、共1240項)
- 小學科學實驗課程活動設計
- 大體積混凝土施工裂縫防治技術研究
評論
0/150
提交評論