bash 的過程式和循環式的編寫

       bash腳本的編寫,對于Linux這個多用戶,多任務的系統,有很大的幫助,腳本可以幫助我們定時執行任務,過濾文本,檢查系統性能等等。下面我們來了解一下過程式和循環式腳本的編寫。

使用read 命令來接受輸入

使用read 來把輸入值分配給一個或多個shell 變量:

    -p 指定要顯示的提示

    -t TIMEOUT

read 從標準輸入中讀取值,給每個單詞分配一個變量,所有剩余單詞都被分配給最后一個變量。

read -p “Enter a filename: “ FILE

過程式編程語言分為三種:1.順序執行 2.選擇執行 3.循環執行

條件選擇if 語句

    選擇執行:

    注意:if 語句可 嵌套

    單分支

        if  判斷條件:then

            條件為真的分支代碼

        fi

    雙分支

        if  判斷條件; then

            條件為真的分支代碼

        else

            條件為假的分支代碼

        fi

    多分支

        if  CONDITION1 ; then

            if-true

        elif CONDITION2 ; then

            if-true

        elif CONDITION3 ; then

            if-true

            …

        else

            all-false

        fi

逐條件進行判斷,第一次遇為“真”條件時,執行其分支,而后結束整個if 語句。

if 實例

1 、寫一個腳本/root/bin/createuser.sh ,實現如下功能:使用一個用戶名做為參數,如果指定參數的用戶存在,就顯示其存在,否則添加之;顯示添加的用戶的id 號等信息

bash 的過程式和循環式的編寫

條件判斷:case 語句

case 變量引用 in

PAT1)

    分支1

    ;;

PAT2)

    分支2

    ;;

*)

    默認分支

    ;;

esac

case 支持glob 風格的通配符:

*:  任意長度任意字符

?:  任意單個字符

[] :指定范圍內的任意單個字符

a|b:  a或b

case 實例

1,寫一個腳本/root/bin/yesorno.sh ,提示用戶輸入yes或no, 并判斷用戶輸入的是yes還是no,

bash 的過程式和循環式的編寫

bash 的過程式和循環式的編寫

循環執行:將某代碼段重復運行多次

    重復運行多少次:

        循環次數事先已知

        循環次數事先未知

    有進入條件和退出條件

分為三種:for, while, until

for 循環

for  變量名 in  列表;do    (for的變量名可以不用加$符號)

    循環體

done

執行機制 : 依次將列表中的元素賦值給“變量名“; 每次賦值后即執行一次循環體;  直到列表中的元素耗盡,循環結束。

列表生成方式:

    (1)  直接給出列表

    (2)  整數列表:

        (a) {start..end}

        (b) $(seq [start [step]] end)

    (3)  返回列表的命令

        $(COMMAND)

    (4)  使用glob,如:*.sh

    (5)  變量引用;

        $@, $*

for實例

1,用for編寫一個99乘法表。

bash 的過程式和循環式的編寫

bash 的過程式和循環式的編寫

while 循環

while CONDITION; do

    循環體

done

CONDITION :循環控制條件;進入循環之前,先做一次判斷;每一次循環之后會再次做判斷;條件為“true",則執行一次循環;直到條件測試狀態為“false”終止循環.

因此:CONDTION 一般應該有循環控制變量;而此變量的值會在循環體不斷地被修正

進入條件:CONDITION 為true;(真)

退出條件:CONDITION 為false ;(假)

while實例

1,用while編寫一個99乘法表。

bash 的過程式和循環式的編寫

bash 的過程式和循環式的編寫

until 循環

until CONDITION; do

    循環體

done

進入條件: CONDITION  為false (假)

退出條件: CONDITION  為true(真)

until示例:

 1、隨機生成10 以內的數字,實現猜字游戲,提示比較大或小,相等則退出

bash 的過程式和循環式的編寫

bash 的過程式和循環式的編寫

循環控制語句continue :用于循環體中

continue [N] :提前結束第N 層的本輪循環,而直接進入下一輪判斷;最內層為第1層。

while CONDTIITON1; do

    CMD1

    …

    if CONDITION2; then

        continue

    fi

    CMDn

    …

done

bash 的過程式和循環式的編寫

bash 的過程式和循環式的編寫

循環控制語句break:用于循環體中

break [N] :提前結束第N 層循環, 最內層為第1層。

while CONDTIITON1; do

    CMD1

    …

    if CONDITION2; then

        break

    fi

    CMDn

    …

done

bash 的過程式和循環式的編寫

bash 的過程式和循環式的編寫

循環控制語句exit:用于循環體中

exit :直接結束整個循環,后面的不再執行。

bash 的過程式和循環式的編寫

bash 的過程式和循環式的編寫

創建無限循環

while true; do

    循環體

done

bash 的過程式和循環式的編寫

bash 的過程式和循環式的編寫

until false; do

    循環體

Done

bash 的過程式和循環式的編寫

bash 的過程式和循環式的編寫

原創文章,作者:AN0519,如若轉載,請注明出處:http://www.www58058.com/38874

(0)
AN0519AN0519
上一篇 2016-08-24 21:21
下一篇 2016-08-24 21:22

相關推薦

  • 談shell命令的神奇組合以及對腳本的影響

    shell命令是我們與機器交互的基本溝通翻譯官。我們要告訴計算機的很多事情都由它來翻譯,而shell的神奇之處就在于支持命令聯合使用,現在我就來講講基本的命令組合引用。1.管道應用:命令 | 命令  ,前面的命令的結果可以直接作為后面命令的輸出,省卻了一個變量做存儲。2.文本段落提取;我們可以用 組合命令 通常為 cat 某文件 | (head -…

    Linux干貨 2017-04-02
  • select應用詳解及rpm、yum使用說明

    一.select相關用法解析 1.select variable in list;do   變量不用加$,和for極為相似         循環體     done 2.    (1)sel…

    Linux干貨 2016-08-29
  • Linux下的SSH端口轉發

    通常情況下兩個不同的網絡之間總會開放某一些特定的端口用于通訊使用,而SSH所使用的22端口通常就在開放之列?;赟SH的端口轉發就是利用SSH作為中間的代理,達到繞過兩個網絡之間的限制,順利的進行任意的端口的訪問。端口轉發可以分為三種,正向端口轉發,反向端口轉發和動態端口轉發。為了演示這三種端口轉發方式的用法我們先假設存在有2個網域Office和Prod,在…

    Linux干貨 2015-02-09
  • Memcached命令

    Memcache 的命令行用法: 1、啟動Memcache 常用參數    memcached 1.4.3      -p <num>      設置端口號(默認不設置為: 11211)      -U <num> &nbsp…

    Linux干貨 2015-05-18
  • ipvsadm用法

    ipvsadm命令的用法:      1.用于管理Lvs集群服務      2.用于進行RS的增刪改      3.查看配置  lvs服務器架設步驟:  1.判斷內核是否支持ipvs(看到CONFIG_NETFIFLER_XT_MATCH_IPVS=…

    Linux干貨 2017-01-10
  • 1. linux basic cmd

    一。 國有股加點廉價航空j 1. 2. 二。

    2017-11-13
欧美性久久久久