1. 程式人生 > >shell編程之if語法、case語法、while語句、until語句、for語句、select語句

shell編程之if語法、case語法、while語句、until語句、for語句、select語句

指令 AD lse while 循環 語句 while else 表達 select

主要介紹shell基本語句的語法

if語句語法
1 單分支結構 (如果,那麽)
if <條件測試> ;then 指令;fi
或者如下:
if <條件測試>
? then
?  指令
fi

2 雙分支結構(如果,那麽,否則。。。)

if <條件表達式>
? then
? 指令
else
? 指令
fi

多分支結構(如果,那麽,否則如果,那麽,否則。。。)

if <條件表達式>
? then
? 指令
elif <條件表達式>
? then
?  指令
else
? 指令
fi
其中elif可以有多個

case 語法

case “變量” in
?值1)
? 指令1 …
? ;;
?值 2)
? 指令 2 …
? ;;
?*)
? 指令3 …
esac

當變量值為值1 時 ,執行指令1,類推,都不符合執行最後*)的指令

while語句

while <條件表達式>
do
?指令..
done

說明:
1 while 對條件檢測,如果成立執行指令,done後,又檢測,如果成立,又執行一 次,直到不滿足條件,停止循環
2 while ture 表示條件永遠為真,會一直循環 ( while [ 1 ] 和while ture一樣 )

while 循環按行讀取文件的方式

方法一

exec < file
while read line
do
? 指令
done

方法二

cat file|while read line
do
? 指令
done

方法三

while read line
do
? 指令
done<file

until 語法

until <條件表達式>
do
?指令..
done

說明:會在條件不成立時,執行循環,條件成立停止

for語法

1 for 變量名 in 變量列表
do
?指令..
done

2 for ((exp1;exp2;exp3))
do
?指令..
done

說明:
for 後面雙括號裏是3個表達式,第一個是變量初始化,第二個為變量的範圍,第三個為變量自加或自減,當第一個初始化值符合第二個變量範圍時候,循環,否則,退出。

**select語句

select 變量名 [ in 菜單取值列表 ]
do
? 指令..
done

shell編程之if語法、case語法、while語句、until語句、for語句、select語句