條件判斷與循環筆記

編程語句總結

條件判斷與循環筆記

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 19:04
下一篇 2018-05-10 20:38

相關推薦

  • Linux下history的用法

    Linux下history的用法 如果你經常使用Linux命令,那么使用history命令無疑會提升你的工作效率。history命令主要用于顯示歷史指令記錄內容, 通過快捷鍵快速下達歷史紀錄中的指令, -c: 清空命令歷史 清空內存中的歷史記錄 -d offset: 刪除歷史中指定的第offset個命令 例如 history -d 153 刪除第153條記錄…

    2018-04-01
  • inode 表

    cp和inode :                    

    Linux筆記 2018-04-01
  • Mysql之備份及還原相關實驗

    本節索引 實驗一:冷備份數據庫并還原 實驗二:結合LVM邏輯卷實現幾乎熱備 實驗三:數據庫數據文件損壞后,利用mysqldump還原至最新狀態 實驗四:誤刪除表后,利用mysqldump還原至最新狀態 實驗五:Xtrabackup完全備份及還原 實驗六:Xtrabackup完全,增量備份及還原 實驗七:Xtrabackup單表導出和導入   實驗準…

    2018-06-14
  • 初學linux你該死記它們

    最笨的方法往往是最好的方法

    Linux筆記 2018-04-08
  • lvs調度方案和應用場景

    ipvs scheduler: 根據其調度時是否考慮各RS當前的負載狀態,可分為靜態方法和動態方法兩種: 靜態方法:僅根據算法本身進行調度; RR:roundrobin,輪詢; WRR:Weighted RR,加權輪詢; SH:Source Hashing,實現session sticky,源IP地址hash;將來自于同一個IP地址的請求始終發往第一次挑中的…

    Linux筆記 2018-07-02
  • rsyslog、nsswitch、pam

    rsyslog: 日志:歷史事件日志 歷史事件: 時間,事件 事件級別(日志級別):事件的關鍵性程度; 事件:系統引導啟動、應用程序啟動、應用程序尤其是服務類應用程序運行過程中的一些事件; 系統日志服務: syslog: syslogd: system klogd:kernel 事件格式較為簡單時,可統一由syslog進行記錄: 事件產生的日期時間 主機 進…

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