if condition
then
command1
command2
...
commandN
fi
写成一行(适用于终端命令提示符):
if [ condition ]; then commmand; fi
if condition
then
command1
command2
else
commandN
fi
if condition1
then
command1
elif condition2
then
command2
else
commandN
fi
if else 的 […] 判断语句中大于使用 -gt,小于使用 -lt。
if [ "$a" -gt "$b" ]; then
...
fi
如果使用 ((…)) 作为判断语句,大于和小于可以直接使用 > 和 < 。
if (( a > b )); then
...
fi
#!/bin/bash
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
#!/bin/bash
a=10
b=20
if (( $a == $b ))
then
echo "a 等于 b"
elif (( $a > $b ))
then
echo "a 大于 b"
elif (( $a < $b ))
then
echo "a 小于 b"
else
echo "没有符合的条件"
fi
#!/bin/bash
num1=$[2*3]
num2=$[1+5]
if test $[num1] -eq $[num2]
then
echo '两个数字相等!'
else
echo '两个数字不相等!'
fi
case 值 in
模式1)
command1
command2
...
commandN
;;
模式2)
command1
command2
...
commandN
;;
esac
#!/bin/bash
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="Ali"
case "$site" in
"Ali") echo "阿里"
;;
"google") echo "谷歌"
;;
"JD") echo "京东"
;;
esac
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done
写成一行:
for var in item1 item2 ... itemN; do command1; command2… done;
#!/bin/bash
for loop in 1 2 3 4 5
do
echo "The value is: $loop"
done
#!/bin/bash
for str in This is a string
do
echo $str
done
while condition
do
command
done
#!/bin/bash
int=1
while(( $int<=5 ))
do
echo $int
let int++
done
#!/bin/bash
echo '按下 退出'
echo -n '输入你最喜欢的网站名: '
while read FILM
do
echo "是的!$FILM 是一个好网站"
done
until condition
do
command
done
#!/bin/bash
a=0
until [ ! $a -lt 10 ]
do
echo $a
a=`expr $a + 1`
done
while :
do
command
done
或
while true
do
command
done
for (( ; ; ))
#!/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
#!/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 "游戏结束"
;;
esac
done