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循环的步骤
在这里插入图片描述

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: while循环是一种在Linux下使用shell脚本的循环结构,它可以重复执行一组命令,直到满足某个条件为止。while循环的语法格式如下: while [ condition ] do command1 command2 ... done 其中,condition是一个条件表达式,如果它的值为真,则会执行循环体中的命令,否则跳出循环循环体中可以包含任意数量的命令,每个命令都必须以换行符结束。当循环体中的所有命令都执行完毕后,会再次检查条件表达式的值,如果仍为真,则继续执行循环体中的命令,直到条件表达式的值为假为止。 ### 回答2: 在Linux下,shell脚本是一种用于自动化任务的脚本语言,while循环是其中比较重要的控制结构之一。 while循环可用于执行一个命令序列,直到条件不再为真。其基本语法为: ``` while condition do command(s) done ``` 其中condition是一个用于检查循环是否继续执行的判断条件,可以是任何语句,但必须以非零退出状态码表示false,零退出状态码表示true。 在循环体内,可使用任何shell命令和语句,包括if-then语句、break、continue等。 while循环的实例: 我们可以用while循环输出0到9之间的数字: ``` #!/bin/bash i=0 while [ $i -lt 10 ] do echo $i i=$((i+1)) done ``` 这个脚本首先用i=0初始化一个变量i,然后在while loop中,我们检查i是否小于10。如果是,我们输出i的值,并将i递增。循环继续执行,直到i不小于10为止。 总之,while循环是编写Linux脚本中不可或缺的控制结构之一,能够有效地帮助我们完成各种任务,提高工作效率。 ### 回答3: Shell脚本是一种在Linux系统下使用的编程语言,它支持大量的命令行操作和自动化任务。其中,while循环Shell脚本中最常用的循环结构之一,它允许我们根据某个条件不断地重复执行一段代码块。在本文中,我们将详细介绍linuxShell脚本中的while循环。 1. while循环语法 while循环语法如下: ``` while [ condition ] do command1 command2 command3 ... done ``` 其中,`condition`是一个测试条件,每次循环开始之前都会被检查。如果`condition`为真,则会执行循环体中的多个`command`。之后再次检查`condition`,如果仍为真,则会一直重复执行多个`command`,直到`condition`为假为止。 2. while循环实例 以下是使用Shell脚本中while循环的几个实例: ``` # 打印数字1至10 x=1 while [ $x -le 10 ] do echo $x x=$((x+1)) done # 读取文件中的每一行,并打印 while read line do echo $line done < filename.txt # 无限循环,直到用户输入"quit" while true do read x if [ $x == "quit" ] then break fi done ``` 在上述示例中,第一个例子是使用while循环打印数字1至10。我们使用`x`变量来跟踪循环次数,并在循环体中递增`x`的值,直到达到目标值。 第二个例子是从文件中读取每一行并将其打印。我们使用`read`命令来读取文件中的每一行,并将其存储在`line`变量中。然后,我们可以在循环体中使用`echo`命令打印行。 第三个例子是使用while循环创建一个无限循环。我们使用`true`命令作为无限循环的测试条件。在循环体中,我们使用`read`命令从标准输入读取一个字符串,并检查它是否等于"quit"。如果是,我们使用`break`命令退出循环。 3. 总结 在Linux下使用Shell脚本时,while循环是非常有用的。它使我们能够执行一些基本的重复任务,例如打印数字或读取文件。使用while循环还可以创建无限循环,例如等待用户输入命令。掌握while循环语法和样例之后,我们可以将它们集成到我们的Shell脚本中,从而实现更多的自动化任务和工作流程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值