标签:if case for
目录多分枝
if 判断条件1; then 条件为真的分支代码
elif 判断条件2; then 条件为真的分支代码
elif 判断条件3; then 条件为真的分支代码
else 以上条件都为假的分支代码
fi
例子:判断一个数字的范围
#!/bin/bash
read -p ‘输入一个数字‘ num
if [ $num -lt 10 ];then
echo 该数字小于10
elif [ $num -ge 10 -a $num -lt 20 ];then
echo 该数字大于等于10小于20
elif [ $num -ge 20 -a $num -lt 50 ];then
cho 该数字大于等于20小于50
else
echo 该数字大于等于50
fi
case $变量名 in
条件1)
分支1;;
条件2)
分支2;;
默认条件 *)
默认分支;;
esac
每个条件后面跟 )结尾 每个分支后面以 ;; 结束
例子
写一个能判断yes/no的脚本,(大小写均能识别,yes九种可能,no四种可能)、
#!/bin/bash
read -p "请输入yes|no: " q
case $q in
[Yy][Ee][Ss]|[Yy])
echo "yes";;
[Nn][Oo])
echo "no";;
*)
echo "请输入正确的格式"
esac
执行机制:依次将列表中的元素赋值给“变量名”; 每次赋值后即执 行一次循环体; 直到列表中的元素耗尽,循环结束
for 变量名 in 列表;do
循环体
done
例1 利用for循环 计算1到10所有正整数之和
#!/bin/bash
let s=0
for n in echo {1..10};do
s=$[$s+$n]
echo $s
done
例2 利用for循环打印99乘法表
#!/bin/bash
for i in {1..9};do
for n in seq 1 $i
;do
echo -n -e " $i"x"$n=$[i*n] "
done
echo
done
(每一个for要对应一个done)
标签:if case for
原文地址:http://blog.51cto.com/13572749/2088232