Shell 流程控制

2022-05-09 03:42:09 字數 2891 閱讀 2169

if else

-->if

if 條件

then

command

command

......

fi例項

#

!/bin/sh

a="abc"b="def"

if [ $a != $b

]then

echo "true"fi

-->if else

if 條件

then

command

command

......

else

command

command

......

fi例項

#

!/bin/sh

a="abc"b="def"

if [ $a = $b

]then

echo "true"

echo "ada"

echo "da"

else

echo "false"

echo "123"fi

-->if else-if else

if 條件

then  

command

command

......

elif 條件

then

command

command

......

else

command

......

fi例項

#

!/bin/sh

a=10b=20

if [ $a -eq $b

]then

echo "a!=b"elif [

$a -gt $b

]then

echo "a>b"

else

echo "afi

for迴圈

格式:for var in it1 it2 it3 ...

do  

command

command

...done

說明:in列表可以包括替換,字串,檔名等。

例項

#

!/bin/sh

for i in 1 2 3 4 5

doecho

$done

#輸出結果#1

#2#3

#4#5

#

!/bin/sh

for i in 'hello world kitty'

doecho

$done

#輸出結果

#hello world kitty

while語句

格式:while 條件

do command

...done

例項

#

!/bin/sh

a=1while (($a

< 5))

doecho "hello"let "a++"  #讓a加1

done

#輸出結果

#hello

#hello

#hello

#hello

until迴圈

說明:until 迴圈執行一系列命令直至條件為 true 時停止。

格式:until 條件

do  

command

...done

例項:

#

!/bin/sh

a=1until [

$a -gt 5]

doecho

$alet "a++"

done

#輸出結果#1

#2#3

#4#5

case

說明:可以用case語句匹配乙個值與乙個模式,如果匹配成功,執行相匹配的命令。

格式:case 數值 in 

模式1)

command

command

...;;

模式2)

command

command

...;;

....

esac

例項:

#

!/bin/sh

echo "請輸入乙個數字"read a

case

$ain

1)

echo "hello"

echo "world";;

2)

echo "world"

echo "hello";;

esac

輸出結果:

輸入1:輸出hello  

world

輸入2:輸出world  

hello

break和continue

我們用例子來理解其用法

break例項:

for i in 1 2 3 4 5

doif [ $i -eq 3]

then

break

else

echo

$ fi

done

#輸出結果#1

#2

continue例項:

#

!/bin/sh

for i in 1 2 3 4 5

doif [ $i -eq 3]

then

continue

else

echo

$ fi

done

#輸出結果#1

#2#4

#5

Shell流程控制

case迴圈 if condition condition then statements if true 1 elif condition condition then statements if true 2 else statements if all else fails fi注 方括號中的...

Shell 流程控制

shell的流程控制不可為空,如果else分支沒有語句執行,就不要寫這個else。if 語句語法格式 if condition then command1 command2 commandn fi寫成一行 適用於終端命令提示符 if ps ef grep c ssh gt 1 then echo t...

Shell流程控制

shell 流程控制 if else if語法格式 if condition then command1 command2 fi 末尾的fi就是if倒過來拼寫 if else語法 if condition then command1 command2 else command1 fi if else...