條件判斷與循環筆記

編程語句總結

條件判斷與循環筆記

QQ截圖20180510201838

1、if 語句(條件判斷)

  • 格式:

if? 判斷條件1 ;? then

條件為真的分支代碼

elif 判斷條件2; then

條件為真的分支代碼

elif 判斷條件3; then

條件為真的分支代碼

else

以上條件都為假的分支代碼

fi

  • 特點:

1)if 語句可以嵌套;

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

 

2、case語句(條件選擇)

  • 格式:

case? 變量引用? in

Pat1)

分支1

;;

Pat2)

分支2

;;

……

*)

默認分支

;;

esac

  • 特點:

1)case支持glob風格的通配符: *: 任意長度任意字符? ??: 任意單個字符? ?[]:指定范圍內的任意單個字符? ?a|b: a或b。

2)輸入的是哪個變量,就執行哪個變量的分支??梢詫Ρ萾estsrv服務腳本。

3)case語句的變量引用多匹配于離散值比較方便代碼的編輯。記住:變量引用前面加$符號。

 

3、for語句(循環執行)

  • 格式:

for? 變量名? in? 列表;do

循環體

done

  • 特點:

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

2)變量名是名稱不是變量引用,所以只寫變量的名字,不加$符號。

3)列表可以直接給出(空格隔開每個元素),也可以給出整數列表({1..100..1}或者seq 1 1 100),或者給出表達式(`ls /boot`),也可以使用通配符(/boot/*.sh),還可以是用位置參數引用($@,$*)

  • 特殊用法:(雙小括號法)

for? i? in? ((i=1;i<=10;i++));do?

? ? ? ? 循環體

done

 

4、while語句(循環執行)

  • 格式:

while? 循環控制條件;do

循環體

done

  • 特點:

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

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

3)進入條件:CONDITION為true 退出條件:CONDITION為false

  • 特殊用法:

1)read讀取文件:一行一行的讀取文件賦值給參數line,進入循環體判斷

while? read? line ; do

? ? ? ? 循環體

done? <? /etc/passwd

2)read讀取命令執行結果:一行一行的讀取命令的執行結果賦值給參數line,進入循環體判斷

df? |? while? read? line ; do

? ? ? ? 循環體

done

 

5、until語句(循環執行)

  • 格式:

while? 循環控制條件;do

循環體

done

  • 特點:

1)while語句的循環控制條件取反,則執行結果相同;循環控制條件相同,則執行結果相反

2)進入條件: CONDITION 為false? ? ?退出條件: CONDITION 為true

 

6、continue [n]語句(循環控制)

  • 格式:用于其他語句的循環體中,用來控制循環
  • 特點:

1)提前結束第n層的本輪循環,轉而進入下一輪判斷,最內層為第一層

2)不會結束本層的循環,繼續執行!

 

7、break [n]語句(循環控制)

  • 格式:用于其他語句的循環體中,用來控制循環
  • 特點:

1)提前結束第n層的循環,最內層為第一層!

 

8、shift [n]命令(循環控制)

  • 格式:同continue和break用法相同,用在其他語句的循環體中,用來控制循環
  • 特點:

1)用于將參量列表 list 左移指定次數,缺省為左移一次。

2)參量列表 list 一旦被移動,最左端的那個參數就從列表中刪除。while 循環遍歷位置參量列表時,常用到 shift

 

9、select語句(循環與菜單)

  • 格式:

select variable in list ; do

循環體命令

done

  • 特點:

1)select 循環主要用于創建菜單,按數字順序排列的菜單項將顯示在標準錯誤上,并顯示 PS3 提示符,等待用戶輸入

2)用戶輸入菜單列表中的某個數字,執行相應的命令

3)用戶輸入被保存在內置變量 REPLY 中

4)select 是個無限循環,因此要記住用 break 命令退出循環,或用 exit 命令終止腳本。也可以按 ctrl+c 退出循環

5)select 經常和 case 聯合使用,與 for 循環類似,可以省略 in list,此時使用位置參量

 

10、trap工具(腳本執行信號捕捉)

  • 格式:kill -l可以查詢信號列表

trap? ‘(COMMAND)’? 信號? ?:(執行COMMAND)不執行信號操作。

trap? ‘-‘? 信號? :恢復原信號操作

trap? -p? :腳本執行時列出自定義信號操作

  • 特點:

1)用于腳本的執行,根據發出不同的信號然后來執行相應的操作。

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/98078

(0)
JllbcJllbc
上一篇 2018-05-10
下一篇 2018-05-10

相關推薦

  • Linux系統中的軟鏈接和硬鏈接

    Linux系統中的軟連接和硬鏈接小結

    2018-04-01
  • Linux的命令

    Linux的命令機制 命令格式 COMMAND [OPTIONS…] [ARGUMENTS…]選項:用于啟用或關閉命令的某個或某些功能短選項:-c 例如:-l, -h長選項:–word 例如:–all, –human-readable參數:命令的作用對象: 比如文件名和作用名 注意 1. *多個選項…

    Linux筆記 2018-04-01
  • 筆記整理-軟件包管理

      管理包工具: rpm? 集包與工具于一身的管理器 獲取途徑: https://www.centos.org/download/ http://mirrors.aliyun.com http://mirrors.sohu.com http://mirrors.163.com   常見包的文件名組成: zlib -3.0-11.e17.x…

    Linux筆記 2018-04-22
  • LVS虛擬服務器相關實驗

    本節內容主要是是lvs相關性實驗,及lvs健康性檢查工具Ldirectord

    2018-07-05
  • 第六周博客

    練習:配置bond1?? (兩個網卡必須物理上在一個網段) 1、service NetworkManager stop 2、vim ifcfg-bond0 DEVICE=bond0 IPADDR=192.168.30.100 PREFIX=24 GATEWAY=192.168.30.1 BONDING_OPTS=”miimon=100 mode=1” 3、v…

    Linux筆記 2018-05-06
  • d

    ““ function fun(){ echo “這是一句非常牛逼的代碼”;}fun(); ““

    Linux筆記 2018-07-09
欧美性久久久久