linux - shell控制语句

目录

(1)if else条件语句

(2)for 循环语句

(3)until 循环语句

(4)case分支语句

(5)break跳出循环

(6)continue跳出循环


(1)if else条件语句

以下实例判断两个变量是否相等:

a=10

b=20

if [ $a == $b ]

then

echo "a 等于 b"

elif [ $a -gt $b ]

then

echo "a 大于 b"

elif [ $a -lt $b ]

then

echo "a 小于 b"

else

echo "没有符合的条件"

fi


 

(2)for 循环语句

顺序输出当前列表中的数字

for num in 1 2 3 4 5

do

echo "The value is: $num"

done

#The value is: 1

#The value is: 2

#The value is: 3

#The value is: 4

#The value is: 5

顺序输出字符串中的字符

for str in 'This is a string'

do

echo $str

done

#输出:This is a string

无限循环

while true

do

command

done


 

(3)until 循环语句

until 循环执行一系列命令直至条件为 true 时停止。

#!/bin/bash

a=0

until [ ! $a -lt 10 ]

do

echo $a

a=`expr $a + 1`

done


 

(4)case分支语句

每一分支必须以右括号结束。右括号中的值可为变量或常数,匹配某一分支后,所有命令执行至 ;;

echo '输入 1 到 4 之间的数字:'

echo '你输入的数字为:'

read aNum

case $aNum in

1) echo '你选择了 1'

;;

2) echo '你选择了 2'

;;

3) echo '你选择了 3'

;;

4) echo '你选择了 4'

;;

*) echo '你没有输入 1 到 4 之间的数字'

;;

esac

#!/bin/sh

site="runoob"

case "$site" in

"runoob") echo "菜鸟教程"

;;

"google") echo "Google 搜索"

;;

"taobao") echo "淘宝网"

;;

esac


 

(5)break跳出循环

break终止执行后面的所有循环,continue仅仅跳出当前循环

下例进入死循环直至用户输入数字大于5,输入break跳出这个循环。

#!/bin/bash

while :

do

echo -n "输入 1 到 5 之间的数字:"

read aNum

case $aNum in

1|2|3|4|5) echo "你输入的数字为 $aNum!"

;;

*) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"

break

;;

esac

done


 

(6)continue跳出循环

break终止执行后面的所有循环,continue仅仅跳出当前循环

#!/bin/bash

while :

do

echo -n "输入 1 到 5 之间的数字: "

read aNum

case $aNum in

1|2|3|4|5) echo "你输入的数字为 $aNum!"

;;

*) echo "你输入的数字不是 1 到 5 之间的!"

continue

echo "游戏结束" #语句 echo "游戏结束" 永远不会被执行。

;;

esac

done



 

猜你喜欢

转载自blog.csdn.net/helunqu2017/article/details/113815609
今日推荐