freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

shell基礎與編程技術講義(參考版)

2025-03-15 17:16本頁面
  

【正文】 79 6. 菜單欄的使用 ? dial。 78 3. 輸入框的使用 ? dialog title 4: Questionnaire inputbox Please enter your name 9 30 2 ? Q_NAME=$(cat ) ? 用輸入框來詢問用戶姓名,重定向標準錯誤流 (2)到臨時文件f .txt中,然后再放到變量 QNAME中。若用戶不繼續(xù)就退出。 then ? dialog infobox 3: Thank you anyway 5 20 ? sleep 2 ? dialog clear ? exit 0 ? fi ? 現(xiàn)在用 yes/no確認對話框詢問用戶是否要繼續(xù)。不需要獲得返回值或獲取用戶的輸入,簡單友好,如圖 。 then ? dialog msgbox Good choice! 12 25 ? fi ? sleep 5 ? dialog clear ? exit 0 76 1. 信息框的使用 ? 因為圖形化界面設計美觀,這里給出其程序的結果配圖和詳細解析。 ? !/bin/sh ? Ask some questions and collect the answer ? filename: ? dialog title 1: Questionnaire msgbox Wele to my simple survey 9 18 ? dialog title 2: Confirm yesno Are you willing to take part? 9 18 ? if [ $? != 0 ] 。 73 74 問題交互圖形化設計例程 圖形化問題交互直觀友好,在此程序中可以進行交互式問答。 ? done ? echo ? 還有一種更適當?shù)脑O定是: PS1=\u: \w\\$ ?。 ? do echo en $EINS \033[$FG\033[$BG $T \033[0m。37m39。 39。 39。1。 36m39。35m39。 39。 39。1。 34m39。33m39。 39。 39。1。 32m39。31m39。 39。 39。1。 30m39。 1m39。 m39。 The test text ? echo e \n 40m 41m 42m 43m \ 44m 45m 46m 47m。s available. Each line is the color code of one fround color out of 17 (default + 16 escapes), followed by a test use of that color on all nine background colors (default + 8 escapes). ? T=39。 ? 通過簡單的 shell腳本程序配合 cron定時工具,就把原本耗費多時的人工備份工作,簡化到幾分鐘的自動工作,提高了效率和可靠性。 ? 備份對象一般是系統(tǒng)中最重要的,如 /etc中的文件,更重要的是用戶資料。 ? 下面進行腳本測試: ? chmod 755 backup ? ./backup ? 執(zhí)行完成后在 /tmp中會生成一個名為 。 71 完成文件備份任務的 backup程序 ? !/bin/sh ? Filename : backup ? DIRS=/etc /var /your_directories_or_files ? BACKUP=/tmp/ ? tar c $DIRS | gzip 9 $BACKUP ? 其中 DIRS是備份目標, BACKUP是備份文件名稱和存放位置。最常用的指令是 : ? tar c file/dir ... | gzip 9 。用戶會看見大量的 tgz文件,被稱為 tarball。如對系統(tǒng)的備份問題,可以用一些壓縮工具。若 mands在單引號里, shell不會對 mands中的變量和命令替換,否則 mands中的變量和命令將用當時具體值替換。在捕捉到 signal list中指定的信號并執(zhí)行完相應的命令后,如果這些命令沒有將 shell程序終止, shell將繼續(xù)執(zhí)行受到信號時執(zhí)行命令后面的命令,但容易導致shell程序無法終止。 trap Signallist ? 但 trap對信號 11(段違例)不能捕捉,因為 shell需要捕捉該信號進行內存轉儲。”signallist ? ( 2)接受信號的默認操作。mands39。 trap命令在 shell接受到 signal list清單中數(shù)值相同的信號時,將執(zhí)行雙引號中的命令串。使用方法: ? trap mand signal_name ? 常用的有: HUB掛起,如斷線; INT 中斷,如 Ctrl+C; QUIT退出,如 Ctrl+; ABRT 終止,執(zhí)行錯誤等; ALRM超時報警; TERM系統(tǒng)終止,如 root關機。所有這些選項也可以在一個 shell程序內部用“ set 選項”的形式引用,而“ set +選項”將禁止該選項起作用。 v讀入 shell輸入行時把它們顯示出來。 67 5. 腳本調試 ? 基本格式: sh –nvx ? 其中 n 檢查語法錯誤,不執(zhí)行; v 執(zhí)行前先顯示代碼; x 執(zhí)行后顯示用到的代碼。 ? 詳細跟蹤和跟蹤執(zhí)行的區(qū)別在于:在執(zhí)行命令前,詳細跟蹤顯示命令行的原始內容,而跟蹤執(zhí)行則顯示經(jīng)過替換后的命令行的內容。 65 詳細跟蹤與跟蹤執(zhí)行的組合 ? 基本格式為: ? ( 1)整個程序的跟蹤執(zhí)行: sh –vx 文件名。跟蹤執(zhí)行也有兩種方式: ? ( 1)整個程序的跟蹤執(zhí)行: sh x 文件名。 shell程序的跟蹤執(zhí)行 ? shell允許用戶觀察 shell程序的執(zhí)行。詳細跟蹤有兩種方式: ? ( 1)整個程序的跟蹤執(zhí)行: sh v 文件名。 64 shell程序的詳細跟蹤 ? shell詳細跟蹤特性允許用戶觀察 shell程序的讀入和執(zhí)行。把 if [ a = 1 ] 這一行改為: ? if [ a = 1 ] 。 ? a=1 ? if [ a = 1 ] ? echo $a ? fi ? 用語法檢查命令檢查該程序: ? $ sh n t2 ? 則屏幕上顯示: ? t2: line 4 :syntax error near unexpected token ?fi? ? t2 :line 4 :?fi? ? 檢查命令在試圖讀第 4行時,發(fā)現(xiàn)‘ if’語句沒有正確結束。 ? 語法檢查 ? shell的語法檢查允許用戶在執(zhí)行 shell程序前先檢查 shell程序的語法,但不執(zhí)行命令行。 62 程序調試 ? 當 shell程序較長較復雜或用于修改系統(tǒng)配置時就需要調試命令。 語法格式 : repeat count mand 【 例 】 repeat的使用。 ? 。 shift將存放在位置變量中的命令行參數(shù),依次向左傳遞。]省略,將會使用 Script后面所加的參數(shù)。 done ? select顧名思義就是在 word中選擇一項。用于退出 while, for, select等循環(huán)語句 ? fi ? done ? select name [ in word。 60 【 例 】 select語句使用位置變量作為 list_of_items ? select menuitem in pick1 pick2 pick3 ? do ? echo are you sure you want to pick $menuitem ? read res 。其語法格式是 : ? select menu [in list_of_items] do 命令表 done ? 當執(zhí)行一個 select語句時, pdksh分別為每個列在list_of_items中的成員建立一個菜單選項。它不是反復計算一個條件表達式并依據(jù)表達式的值決定是否執(zhí)行一組命令。當執(zhí)行continue n命令時,則跳過最里層 n次循環(huán)體的執(zhí)行,從第 n+ 1次循環(huán)開始執(zhí)行。該命令用于在循環(huán)體中根據(jù)命令運行的返回條件,直接進入下一次循環(huán)命令的執(zhí)行。當執(zhí)行 break n時,則終止最內層的 n個循環(huán)的執(zhí)行。 ? break是 shell的內部命令,其格式為 break或 break n。 break語句讓程序流程從當前循環(huán)體中完全跳出 , 而continue語句則跳出當次循環(huán)直接進入下一次循環(huán)。 循環(huán)語句 until的基本結構是: ? until 測試條件 do 命令表 done 【 例 】 用 until語句編寫程序顯示 19的平方值。 57 循環(huán)語句 until ? until語句與 while語句相似,但測試條件不同。每次循環(huán)處理一個位置變量 $1,用shift左移位置變量。 ? do ? Check if the script is there. ? [ ! f $i ] continue ? Check if the subsystem is already up. ? subsys=$ ? [ f /var/lock/subsys/$subsys ] || ? [ f /var/lock/subsys/$.init ] continue ? Bring the subsystem up. ? $i start ? done 55 循環(huán)語句 while 56 【 例 】 編寫程序判斷命令的位置變量屬性。 do ? echo $i ? done 【 例 】 改寫 Red Hat的啟動文件 /etc/,在其中加上命令找出/etc/*所有文件,檢查存在與否并一一執(zhí)行。 54 【 例 】 編寫程序文件 listbin實現(xiàn) ls /bin/*的功能。 ? !/bin/sh ? Filename : catmore ? for i 。 do ? doc=`echo $txt | sed s/.txt/.doc/` ? mv $txt $doc ? done ? 這樣可以將 *.txt文件修改成 *.doc文件。 把 *.txt文件一次性改名成 *.doc文件。 ? !/bin/bash ? for param ? do ? echo $param ? done ? exit 0 ? 上面這個程序將列出所有命令行中給出的參數(shù)。 ? $ cat showprog ? for i in 1 2 3 4 5 6 7 ? do ? echo $i ? done 51 52 【 例 】 4. 18 運用 for語句來實現(xiàn)循環(huán)。對變量的每一個可能賦值都將執(zhí)行 do和done之間的命令列表。 ? 變量名可以是用戶選擇的任何字符串,如果變量名是 var,則在 in之后給出的數(shù)值將順序替換循環(huán)命令列表中的 $var。 do和 done中間的命令表稱為循環(huán)體。基本語法結構為: ? for 變量名 in 變量表 do 命令表 done ? 變量名是用戶所使用的循環(huán)變量的名字。 48 49 50 循環(huán)語句 for ? shell中有 for、 while和 until三種循環(huán)語句。如果沒有匹配值,則執(zhí)行默認命令。 47 ? 開關語句 case允許把一個和多個選項值進行比較。 ? * ) echo Punctuation, whitespace, or other。 ? [AZ] ) echo Uppercase letter。 【 例 】 case 結構進行分支選擇。 then ? CRONTAB=/var/spool/cron/crontabs/root ? elif [ f /var/cron/tabs/root ] 。 ? !/bin/sh ? if [ f /etc/crontab ] 。 ? Filename : /etc/ppp/settings ? PHONE=1800COLLECT ? !/bin/sh ? Filename : phonebill ? if [ f /etc/ppp/settings ] 。這種結構采用簡潔方式,把 if和 then放在一行,但在 then之前要加“;”號。 then 命令表 2 ? else if 表達式 3。 ? 為了滿足用戶更多要求和便于編程, shell還提供 if語句的嵌套結構,把多個 if語句連用,完成用戶更復雜的要求和判斷。這種語句的語法格式為: ? if 表達式 then 命令表 fi ? 該語句先執(zhí)行表達式,如果表達式為真,則執(zhí)行命令表,否則退出 if語句。 命令行的屬性值 43 條件語句 if ? 條件語句是最簡單最基本的控制結構。 shell可使用true和 false作為恒真和恒假條件使用,用命令可以查看這兩個命令的返回值。除了一般命令的出口狀態(tài)外, Linux系統(tǒng)還提供了 tru
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1