Shell 流程控制~09

前端之家收集整理的这篇文章主要介绍了Shell 流程控制~09前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Shell 流程控制~09



和Java、PHP等语言不一样,sh的流程控制不可为空

if else
if else 语法格式:

if condition
then
command1
command2
...
commandN
else
command
fi


if else-if else
if else-if else 语法格式:

if condition1
then
command1
elif condition2
then
command2
else
commandN
fi


for 循环
与其他编程语言类似,Shell支持for循环。
for循环一般格式为:

for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done


for var in item1 item2 ... itemN; do command1; command2… done;




#!/bin/sh
int=1
while(( $int<=5 ))
do
echo $int
let "int++"
done

使用中使用了 Bash let 命令,它用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量


echo '按下 <CTRL-D> 退出'
echo -n '输入你最喜欢的电影名: '
while read FILM
do
echo "是的!$FILM 是一部好电影"
done

until 循环
until循环执行一系列命令直至条件为真时停止。
until循环与while循环在处理方式上刚好相反。
一般while循环优于until循环,但在某些时候—也只是极少数情况下,until循环更加有用。
until 语法格式:

until condition
do
command
done

条件可为任意测试条件,测试发生在循环末尾,因此循环至少执行一次—请注意这一点。

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

跳出循环
在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,Shell使用两个命令来实现该功能:break和continue。

break命令

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


continue
continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。

猜你在找的Bash相关文章