1. 程式人生 > >1 Linux shell 編程(七):流程控制語句

1 Linux shell 編程(七):流程控制語句

shell if else Linux

流程控制語句

在shell中如果在終端輸入多個命令,如果以&分隔則將命令放入後臺執行,如果以;分隔,則表示一個命令集合。shell允許使用邏輯操作符&&和||來作為命令分隔符,他們分別時AND和OR.

&&

如果前面命令執行成功,則執行&&後面的命令

||

如果前面的命令執行失敗,執行||後面的命令

技術分享圖片

if 語句

條件判斷語句

if語句是一個判斷語句,基於條件執行命令,格式如下:
技術分享圖片
if語句必須以fi結尾。

COMMANDS 可以是單個命令、命令組、表達式。if語句根據他們的執行結果或條件表達式來執行命令。

命令

根據命令的執行結果(exit status)來執行命令。

如果ls的exit status等於0

技術分享圖片
命令組

當一次需要執行多個命令時可以以組為單位執行,命令組可以使用(COMMANDS;...)和{ COMMANDS;....; }來表示。

使用小括號(COMMANDS;....)來包裹命令時,命令會在一個子shell環境中執行,它的執行狀態為COMMANDS中的最後一個命令的執行狀態。

使用大括號{ COMMANDS;....; }來包裹命令時,括號前後必須要有空格,命令與命令使用;分隔,最後一個命令的執行狀態作為命令組的執行狀態。

技術分享圖片

技術分享圖片
技術分享圖片

示例:
技術分享圖片

if...;then ...;else ...;fi語句

使用 if....else 語句在條件為 true 時執行代碼,在條件為 false 時執行其他代碼。

語法:

技術分享圖片
示例:

技術分享圖片

if ... elif ...else fi語句

使用 if....else if...else 語句來選擇多個代碼塊之一來執行。
技術分享圖片

1 Linux shell 編程(七):流程控制語句