转载自本人博客,排版更佳
if...else
#!/bin/sh
echo "
if else 句法
if condition
then
command1
command2
...
commandN
fi
----------------------
if condition1
then
command1
elif condition2
then
command2
else
commandN
fi
"
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
for循环
#!/bin/sh
echo "
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done
"
for str in This is a string
do
echo "$str"
done
while
#!/bin/sh
echo "
while condition
do
command
done
"
int=1
while(( $int<=5 ))
do
echo $int
let "int++"
done
echo '按下 <CTRL-D> 退出'
echo -n '输入你最喜欢的网站名: '
while read FILM
do
echo "是的!$FILM 是一个好网站"
done
case
#!/bin/sh
echo "
case工作方式如上所示。
取值后面必须为单词in,每一模式必须以右括号结束。
取值可以为变量或常数。匹配发现取值符合某一模式后
其间所有命令开始执行直至 ;;。
取值将检测匹配的每一个模式。
一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。
如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。
"
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
continue
#!/bin/sh
# 该例中的循环不会结束,语句 echo "游戏结束" 永远不会被执行。
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
break
#!/bin/sh
while :
do
echo -n "输入 1 到 5 之间的数字:"
read aNum
case $aNum in
1|2|3|4|5) echo "你输入的数字为 $aNum!"
;;
*) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"
break
;;
esac
done