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

正文內(nèi)容

linux_shell_腳本編寫(參考版)

2025-01-20 06:19本頁面
  

【正文】 pwd) find $dir type d print | sort f | sed e s,^$1, e /^$/d e s,[^/]*/([^/]*)$,`1, e s,[^/]*/,| ,g Linux 培 訓 init腳本例子 ? 一個 init腳本啟動在 UNIX和 Linux機器上的系統(tǒng)服務(wù) ? 存儲在系統(tǒng)的特定位置,比如 /etc/rc ,/etc/下 , ? Init,初始化進程,讀取它的配置文件來決定在某些運行等級哪些服務(wù)來啟動或者停止, ? 在 Linux 啟動部分 ,將詳細分析啟動腳本 Linux 培 訓 課堂作業(yè) ? 寫一個腳本 ,計算腳本所有參數(shù)的累加 – 比如 1 3 8 ,應(yīng)該得出結(jié)果 12來 – 要求用 shift和 for in do兩種方法求出值來 ? 用 for,和 read寫一個腳本來完成 select的功能 – 把一個列表加上序號分行顯示 – 用 read的讀取用戶的值,并且用 return n的形式返回給調(diào)用者。 then 判斷參數(shù)是否 0,腳本要求必須有參數(shù) echo $${USAGE} amp。echo before execute line:$LINENO, a=$a,b=$b,c=$c39。ERRTRAP $LINENO39。 ERR abc foo Linux 培 訓 Trap EXIT ERRTRAP() { echo [LINE:$1] Error: Command or function exited with status $?“ } foo() { return 1。 } trap 39。echo “before execute line:$LINENO, a=$a,b=$b,c=$c”39。而通過捕獲 DEBUG信號,我們只需要一條 trap語句就可以完成對相關(guān)變量的全程跟蹤。ERRTRAP $LINENO39。 0 ? 通過捕獲 ERR信號 ,我們可以方便的追蹤執(zhí)行不成功的命令或函數(shù),并輸出相關(guān)的調(diào)試信息,以下是一個捕獲 ERR信號的示例程序,其中的 $LINENO是一個 shell的內(nèi)置變量,代表 shell腳本的當前行號。 EXIT 或 trap 39。 ? Shell偽信號 – EXIT 從一個函數(shù)中退出或整個腳本執(zhí)行完畢 – ERR 當一條命令返回非零狀態(tài)時 (代表命令執(zhí)行不成功 – DEBUG 腳本中每一條命令執(zhí)行之前 Linux 培 訓 trap調(diào)試腳本 ? 通過捕獲 EXIT信號 ,我們可以在 shell腳本中止執(zhí)行或從函數(shù)中退出時,輸出某些想要跟蹤的變量的值,并由此來判斷腳本的執(zhí)行狀態(tài)以及出錯原因 ,其使用方法是: – trap 39??梢杂?kill –l命令看到系統(tǒng)中全部可用的信號名,捕獲信號后所執(zhí)行的命令可以是任何一條或多條合法的shell語句,也可以是一個函數(shù)名。 ? 不執(zhí)行 ,只執(zhí)行語法檢查 n參數(shù) – sh –n – 不報錯表示沒有錯誤 Linux 培 訓 用 trap調(diào)試腳本 ? trap命令用于捕獲指定的信號并執(zhí)行預定義的命令。 do break Done – var$存儲用戶所選的值 Linux 培 訓 select實例 !/bin/sh echo What is your favourite OS? select var in Linux Gnu Hurd Free BSD Other。 B) echo your selection is Backup 。 done Linux 培 訓 交互式菜單 ! /bin/bash echo ******************************* echo Please select your operation: echo 1 Copy echo 2 Delete echo 3 Backup echo ******************************* read op case $op in C) echo your selection is Copy 。 done – read可一次性讀取多個變量 ? ls i | while read inode file。$echo VAR – 從管道里讀取 ? ls | while read file。echo $VAR – 使用 p 選項為每次 read 提供提示。如果使用了嵌套循環(huán),也可以指定退出的層次數(shù)。 N表示跳出嵌套的層數(shù) – continue [n] 停止循環(huán)過程的當前一個反復并且跳到循環(huán)中的下一個反復過程的開始部分 ,n表示忽略的層數(shù) – exit [n] 停止 shell程序的執(zhí)行,并且將返回值設(shè)置為 n。 done Linux 培 訓 util表達式 X=1 until (( x 10 )) do cho hello X is $X let X=X+1 done Linux 培 訓 Shift命令 ? 很多時候 ,變量值是一組以空格隔開的列表 ,如命令行參數(shù) ,一組文件名列表等等 .在循環(huán)中可能需要逐一處理 .C語言只能數(shù)組加下標 ,或指針變量移動來處理 .那 Shell腳本呢 ,當然開發(fā)者可以自己處理字符串 ,一個一個把值分離出來 ,但是在 Shell腳本里有更簡單辦法 . ? 使用 Shift命令來處理 .Shift命令每次把從命令行參數(shù)位置變量值取一個值出來 ,并且把總數(shù)減一 .這樣處理循環(huán)起來非常簡單 ? shift后可加整數(shù)進行一次多個移位 – shift 3 Linux 培 訓 shift實例 ? 注意命令行參數(shù)總數(shù) ,$每 shift一次 ,值減一 . 利用 shift計算所有參數(shù)乘積,假設(shè)參數(shù)均為整數(shù) ! /bin/sh result=1 while [ $ gt 0 ] do result=`expr $result * $1` shift done echo $result 打印所有命令行參數(shù) until [ $ eq 0 ] 。 – until TESTCOMMAND。 ? until 循環(huán)和 while 循環(huán)非常相似, 但是正好相反 ,除了循環(huán)執(zhí)行直到 TESTCOMMAND 執(zhí)行成功。 done – CONTROLCOMMAND采用 if同樣的判斷 test表達式 – 這里 while,do,done都是命令 ,在一行內(nèi)要 。 done Linux 培 訓 for 實例 !/usr/bin/env bash 取得 /etc/目錄下所有以 r打頭的文件名 ,判斷是不是目錄 for myfile in /etc/r* do if [ d $myfile ] then echo $myfile (dir) else echo $myfile fi done Linux 培 訓 流程控制 :while循環(huán) ? while 結(jié)構(gòu)允許重復執(zhí)行一系列命令,只要控制 while 循環(huán)的命令執(zhí)行成功(退出狀態(tài)是零) ? 語法格式 – while CONTROLCOMMAND。 x++ ))。 done ? 如果想 for實現(xiàn)象 C中循環(huán)累加的結(jié)果需要用到 $(())表達式 – for (( x=2。 done ? 這里表示從 LIST依次取值 (以空格為界 )賦給變量 Name,然后執(zhí)行 do done中的命令 ,這跟 C語言差別非常大 . – 如果 [in LIST] 不存在的話,就使用 in $ 替換且 for 對每個位置參數(shù)執(zhí)行一次 COMMANDS,$是指命令行參數(shù)列表 ? 例子 : – for x in abd 2 my stuff。 Linux 培 訓 流程控制 :for 循環(huán) ? 這也是一個 C語言開發(fā)者頭痛的地方 ,這個 for循環(huán)在 shell并不是象 C語言累加的形式 ,而是采用是腳本中特有的 for do格式 ? 語法結(jié)構(gòu) – for NAME [in
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1