linux之shell条件判断和循环

一、条件判断式

1、利用 if…then
简单地说,当符合某个条件判断的时候,就予以进行某项任务。

①、单层、简单条件判断式

if [条件判断式]; then
	条件成立时执行的命令
fi

如果有多个条件要判别时,除了【将多个条件写入一个中括号内的情况】

 [ "${yn}" == "Y" -o "${yn}" == "y" ] 

之外,还可以有【多个中括号来隔开】

[ "${yn}" == "Y" ] || [ "${yn}" == "y" ]

案例一:输入Y/N,程序判断并输出信息

脚本代码如下:
在这里插入图片描述
显示效果如下:
在这里插入图片描述

②、多重、复杂条件判断式

#一个条件判断,分成功执行与失败执行
if [ 条件判断式 ] ; then
	成功时执行的语句
else
	失败时执行的语句
fi
#多个条件判断
if [ 条件判断式一 ] ; then
	当条件一成立时,执行的语句
elif [ 条件判断式二 ] ; then
	当条件而成立时,执行的语句
else
	条件一、二都不成立时,执行的语句
fi

2、利用case…esac判断

case $变量名称 in
	"第一个变量内容")
		程序段
		;;
	"第一个变量内容")
		程序段
		;;
	*)
		不包含第一个变量与第一个变量的其他程序段
		exit 1
		;;
esac

3、利用function功能

function fname() {
    
    
	程序段
}

注意:由于程序是右上至下至下的,所以function必须要设置在最前面。function也拥有内置变量,函数名表示$0,而后续变量也是以$1、$2…来代替

案例二:对function的使用

脚本代码如下:
在这里插入图片描述
实现效果如下:
在这里插入图片描述

二、循环

1、不定循环

①、while do done(当条件成立时,就进行循环,知道条件不成立才停止)

while [ condition ]	#中括号中的的状态就是判断式
do
	程序段
done

案例三:循环的使用

脚本代码如下:
在这里插入图片描述

显示效果如下:
在这里插入图片描述
②、until do done(程序满足情况就执行)

until [ condition ]
do
	程序段
done

2、for do done(固定循环)

#var是变量内容 
#cond1是第一次循环时变量var的内容
#cond2是第二次循环时变量var的内容
for var in cond1 cond2 cond3 …
do
	程序段
done

案例四:for循环的使用

脚本代码如下:
在这里插入图片描述

显示效果如下:
在这里插入图片描述
3、for do fone 的数值处理

#初始值:某个变量自循环汇总的起始值
#限制值:当变量的值在这个限制值的范围内,就继续进行魂环,例如 i <= 100
#赋值运算:每做一次循环时,变量也变化,例如i=i+1
for (( 初始值; 限制值; 赋值运算 ))
do
	程序段
done

案例五:计算1-10的总和
在这里插入图片描述

显示效果如下:
在这里插入图片描述

三、shell脚本的跟踪和调试

语法:sh [-nvx] 脚本名
“ -n ”表示不要执行脚本,仅查询语法的问题
“ -v ”表示在执行脚本之前,先将内容输出到屏幕上
“ -x ”表示将使用到的脚本内容输出到屏幕上(重点)

例如:显示for循环的步骤
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44796093/article/details/109139595