if...else 语句
总共有三类语句
- if then......fi
- if then......else......fi
- if then......elif then......else......fi
#!/bin/bash
a=1
b=2
if [ $a == $b ]
then
echo "$a is equal $b"
elif [ $a -gt $b ]
then
echo "$a is greater than $b"
else
echo "$a is lower than $b"
fi
$ sh test.sh
1 is lower than 2
for 语句
- in 后面可以接列表, 可以是数字和字符串, 但是每个值必须用
空格
分开
for var in item1 item2 ... itemN
do
command
done
#!/bin/bash
for value in 1 2 3 4
do
echo "value is "$value
done
# sh test.sh
value is 1
value is 2
value is 3
value is 4
while 语句
条件为真,则执行command步骤,再循环回到顶部,再次判断真假。
while condition
do
command
done
#!/bin/bash
a=3
while [ $a -lt 5 ]
do
a=`expr $a + 1`
echo $a
done
#$ sh test.sh
4
5
until 语句
until 循环执行一系列命令直至条件为 true 时停止
until condition
do
command
done
#!/bin/bash
value=0
until [ ! $value -lt 4 ]
do
echo "value is "$value
value=`expr $value + 1`
done
# sh test.sh
value is 0
value is 1
value is 2
value is 3
case选择语句
- 一旦模式匹配,则执行完匹配模式相应命令后(从
模式
到;;
)不再继续其他模式 - 无一匹配模式,使用星号 * 捕获该值,再执行后面的命令
case 值 in
模式1)
command
;;
模式2)
command
;;
*)
command
;;
esac
#!/bin/bash
num=1
case $num in
1)
echo "You get the num is 1"
;;
2)
echo "You get the num is 2"
;;
*)
echo "You get the num is others"
;;
esac
#sh test.sh
You get the num is others
跳出循环
- break: 跳出所有循环(终止执行后面的所有循环)
- continue:仅仅跳出当前循环
网友评论