本文共 1554 字,大约阅读时间需要 5 分钟。
目录
一.条件选择: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/bashlet s=0for n in echo {1..10};dos=$[$s+$n]echo $sdone例2 利用for循环打印99乘法表#!/bin/bashfor i in {1..9};dofor n inseq 1 $i
;doecho -n -e " $i"x"$n=$[i*n] "doneechodone (每一个for要对应一个done)
转载于:https://blog.51cto.com/13572749/2088232