Linux Shell流程控制

2021-09-23 06:35:47 字數 3900 閱讀 2464

linux shell有一套自己的流程控制語句,其中包括條件語句(if),迴圈語句(for,while),選擇語句(case)。下面我將通過例子介紹下,各個語句使用方法。

一、shell條件語句(if用法)

if語句結構[if/then/elif/else/fi]

if 條件測試語句 

then

action

[elif 條件 

action

else

action

] fi 

如果對於:條件測試語句不是很清楚,可以參考:linux shell 邏輯運算子、邏輯表示式詳解

shell命令,可以按照分號分割,也可以按照換行符分割。如果想一行寫入多個命令,可以通過「』;」分割。

如:

[chengmo@centos5 ~]$ a=5;if [[ a -gt 4 ]] ;

then

echo 

'ok'

;fi; 

ok 例項:(test.sh)

條件測試有:,,test 這幾種,注意: 與變數之間用空格分開。

二、迴圈語句(for,while,until用法)

語法結構:

1. for … in 語句

for

變數 in

seq字串 

do action

done 

說明:seq字串 只要用空格字元分割,每次for…in 讀取時候,就會按順序將讀到值,給前面的變數。

例項(testfor.sh):

seq 10 產生 1 2 3 。。。。10空格分隔字串。

2.for((賦值;條件;運算語句))

for

((賦值;條件;運算語句)) 

do action

done; 

例項(testfor2.sh):

while語句結構

while 條件語句 

do action

done; 

例項1:

#!/bin/sh 

i=10; 

while [[ $i -gt 5 ]];do 

echo $i; 

((i--));

done; 

執行結果:********************====

sh testwhile1.sh109

876例項2:(迴圈讀取檔案內容:)

#!/bin/sh 

while read

line;do 

echo $line; 

done 

執行結果:***************====

sh testwhile2.sh

# do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 centos5 localhost.localdomain localhost

語法結構:

until 條件 

do action

done 

意思是:直到滿足條件,就退出。否則執行action.

例項(testuntil.sh):

#!/bin/sh 

a=10; 

until [[ $a -lt 0 ]];do 

echo $a; 

((a—)); 

done; 

結果:sh testuntil.sh109

8765

4321

0三、shell選擇語句(case、select用法)

語法結構

case

$arg 

inpattern | sample) # arg in

pattern 

orsample   

;;   

pattern1) # arg in

pattern1   

;;   

*) #default

;; 說明:pattern1 是正規表示式,可以用下面字元:

* 任意字串

? 任意字元

[abc] a, b, 或c三字元其中之一

[a-n] 從a到n的任一字元

| 多重選擇

例項:

#!/bin/sh 

case

$1 in

start | begin

) echo "start something"

;; stop | end

) echo "stop something"

;; *) 

echo "ignorant"

;; esac 

執行結果:********************==

testcase.sh start

start something

語法:select 變數name in seq變數

do 

action

done 

例項:

#!/bin/sh 

select

ch in

"begin"

"end"

"exit"

do case

$ch 

in"begin"

) echo "start something"

;; "end"

) echo "stop something"

;; "exit"

) echo "exit"

break; 

;; *) 

echo "ignorant"

;; esac 

done; 

執行結果:

說明:select是迴圈選擇,一般與case語句使用。

以上是shell的流程控制語句,條件,迴圈,選擇。 歡迎討論交流!

Linux Shell 02 流程控制語句

一.if語句格式 支援if elif else形式,支援巢狀 1.command執行成功 及退出狀態為0 時,執行command2 2.當判斷條件為test命令時,判斷結果為true時,執行command2 ifcommand then command1 else command2 fiifcomm...

mysql流程控制 MySQL 流程控制

流程控制 1 順序結構 程式從上往下依次執行 2 分支結構 多條路徑選擇一條 3 迴圈結構 在規定範圍內重複執行 一 分支結構 1 if函式 功能 實現分支流 語法 if 表示式1,表示式2,表示式3 執行順序 執行表示式1,成立返回表示式2的值,不成立則返回表示式3的值 應用 任何地方 例 if ...

Python流程控制語句流程控制語句

流程控制語句1 if語句 if 語句基本用法 if 表示式 語句塊其中,表示式可以是乙個單純的布林值或變數,也可以是比較表示式或邏輯表示式,如果表示式為真,則執行 語句塊 如果表示式的值為假,就跳 過 語句塊 繼續執行後面的語句。2 if else語句 if else 語句基本用法 if 表示式 語...