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/shi=10;
while [[ $i -gt 5 ]];do
echo $i;
((i--));
done;
執行結果:********************====
sh testwhile1.sh109
876例項2:(迴圈讀取檔案內容:)
#!/bin/shwhile 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):
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/shcase
$1 in
start | begin
) echo "start something"
;; stop | end
) echo "stop something"
;; *)
echo "ignorant"
;; esac
執行結果:********************==
testcase.sh start
start something
語法:select 變數name in seq變數
doaction
done
例項:
#!/bin/shselect
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 表示式 語...