shell脚本之 if,case,for的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本之 if,case,for的用法相关的知识,希望对你有一定的参考价值。
目录
一.条件选择:if语句
二.条件判断:case语句
三.for循环
一.条件选择:if语句
-
单分支
if 判断条件;then
条件为真的分支代码
fi
例子:判断一个数字是否等于10#!/bin/bash read -p ‘输入一个数字‘ num if [ $num -eq 10 ];then echo 该数字等于10 fi
-
双分支
if 判断条件; then 条件为真的分支代码
else 条件为假的分支代码
fi
例子:判断一个数字是否大于10#!/bin/bash read -p ‘输入一个数字‘ num if [ $num -gt 10 ];then echo 该数字大于10 else echo 该数字不大于10 fi
-
多分枝
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语句
-
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循环
执行机制:依次将列表中的元素赋值给“变量名”; 每次赋值后即执 行一次循环体; 直到列表中的元素耗尽,循环结束
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)
-
以上是关于shell脚本之 if,case,for的用法的主要内容,如果未能解决你的问题,请参考以下文章
Shell脚本的逻辑判断if文件目录属性判断if的特殊用法Shell中的case判断
shell脚本逻辑判断,文件目录属性判断,if,case用法