首页 > 其他分享 >流程控制语句

流程控制语句

时间:2023-11-12 13:32:26浏览次数:29  
标签:语句 控制 do 流程 echo 命令 循环 done

流程控制语句

  • if else语句

  • case 语句

  • while语句

  • until语句

if else 语句
if 条件
then 
	命令
fi
if 条件
then
	命令
else 
	命令
fi

可以将if语句放入一行中书写

if 条件;then 命令;fi
if 条件
then
	命令
elif 条件2 
then 
	命令2
elif 条件3 
then 
	命令3
else
	命令N
fi

if 条件的退出状态

大多数情况0代表成功;非0代表失败

shell内置命令test

  • 对整数进行比较测试
  • 对字符串
  • 对文件测试

检测某个命令是否成立,功能与单个[]作用相同,

整数 比较

if test 数字1 option 数字2
then 
...
fi

&&只能用在双括号中;

case语句

适用于分支较多的语句

case 值 in 
匹配模式1)
	命令1 
	命令2
	;;
匹配模式2)
	命令1
	命令2
	;;

支持简单的正则化表达式通配符;

格式 说明
* 表示任意字符串
[abc ] 表示范围中的任意一个
[m-n] 表示从m-n中任意的一个字符;
| 表示多重选择,类似或运算,
#!/bin/bash
read -p "请输入一个数字" data
case $data in
1)
	echo "星期一"
	;;
2)
	echo "星期二"
	;;
3)
	echo "星期三"
	;;
4)
	echo "星期4"
	;;
5)
	echo "星期五"
	;;
6)
	echo "星期六"
	;;
7|0)
	echo "星期天"
	;;
*)
	echo "星期一"
	;;
esac

循环流程控制语句while

语法

while 条件
do 
	命令一
	命令2
	...
	continue;
	
	break;
	
done

一行写法

while 条件;do 命令;done;

无限循环

while :
do 
	command
done

#或则
while true
do 
 	command
done

until 语句,直到什么为止,也是一个循环结构

也是循环结构,与while循环在处理方式上相反 ,循环条件为false时候会一直循环,条件为true时候会停止循环

until 条件
do 
	命令
done

如果返回值为1(代表false),继续执行循环体结构,否则跳出循环;

for 循环

#多行写法
for var in item1 item2 ...
do 
	命令1
	命令2
	...
done

#一行写法
for var in item1 item2 ... ;do 命令1 ;命令2;...;done;



for var  in {start .. end}
do 
	命令
done

for ((i=1;i<结束值;i++))
do 
	命令
done

#无限循环
for ((;;))

select语句

进行菜单选择输入,可以增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行对应的功能,shell语言独有的一种循环,适合终端交互

select var in menu1 menu2 ...
do 
命令
done

select 是无限循环的死循环,输入空值(无效值),都不会结束循环,只有遇到break ,或则按下ctrl+D才能结束循环;

#!/bin/bash
echo "您的爱好是什么"
select hobby in "编程" “youxi ” "篮球"
do 
 echo $hobby
 break
 
done
echo 

标签:语句,控制,do,流程,echo,命令,循环,done
From: https://blog.51cto.com/u_16182563/8329086

相关文章

  • Matlab绘图控制命令
    ​ 图形的控制与表现(Figurecontrolandrepresentation) MATLAB提供的用于图形控制的函数和命令:axis: 人工选择坐标轴尺寸.   clf:  清图形窗口. ginput:利用鼠标的十字准线输入.  hold:  保持图形.   shg:......
  • 【Python编程】深入理解条件语句:if、else、elif详解
    在Python编程中,条件语句是一种非常重要的控制结构,可以用于根据特定条件执行不同的代码块。本文将深入探讨if、else和elif条件语句的用法,并通过详细的代码案例来帮助您更好地理解它们。一、if语句if语句用于根据特定条件执行代码块。如果条件为真,则执行if语句下面的代码块;如果条件为......
  • 工作流程
    一、任务需要的数据逻辑关系对应的表是哪个,表字段对应是哪个,含义是什么在做的过程中,逻辑有什么问题--直接打电话问影响下一步的工作--直接打可以等的--发消息......
  • 【6.0】Go语言基础之循环语句
    【一】判断语句if~elsepackagemainimport"fmt"//if~else的使用//[1]语法//语法if条件{条件符合,执行代码}//语法elseif条件{条件符合,执行代码}//语法else{条件符合,执行代码}//[2]执行代码的左侧{必须跟关键字在同一行funcmain(){ score:......
  • Sovit2D组态设计 Web Scada烟气脱硫工艺流程
    前言我国是燃煤大国,燃煤排放的SO₂成为影响我国城市空气质量的主要污染物。因此,锅炉烟气脱硫是减排SO₂的重要手段。建设背景在节能减排的大形势下,钢厂、电厂等烟气脱硫是完成二氧化硫减排任务的重点工作之一。烟气脱硫系统具有很高的复杂性,目前很多脱硫系统出现运行故障多、不能......
  • DVWA文件上传低级渗透流程(手把手教你)
    低级的文件上传环境没有进行过滤,所以可以直接上传一个php的木马文件,然后使用工具进行连接,进而获取到目标机器的图形化界面首先创建一个php的一句话木马文件保存为php格式,确定保存进入到上传文件的页面将方框内的相对路径复制粘贴到URL后面即可获得木马文件的绝对路径进入后若为空......
  • DVWA文件上传中级渗透流程(手把手教你)
    由于中级难度在前端页面进行了过滤,不允许php文件进行上传。所以我们需要在前端页面进行绕过,从而把文件上传到后端。首先在kali环境将kali用户切换到root管理员用户密码为kali打开burp抓包软件,burp软件能够在前端验证通过后,数据传到后端之前对数据包拦截,可以对数据包进行修改优化后......
  • SpringSecurity权限控制的学习
    Security权限控制流程 环境数据库数据库采用RBAC结构,大概如下图所示创建的表结构如下所示,用户表,角色表,权限表和两个关联他们的表导入springsecurity依赖坐标和我们需要的各种依赖坐标 <!--   mysql的驱动和mybatisplus依赖-->​    <dependency> ......
  • continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在
    分析下面代码块,输出()行########。vari=0;while(i<40){if(i<30)continue;Document.write(‘########’);i++;}A40B30C39D无数行E一行也没有正确答案:E①中文引号,运行直接报错②就算不报错,不是死循环,输出的#号没有换行,输出再多......
  • shell 分支case语句
    case语句是shell中流控制的第二种方式,语法如下: case$变量in  pattern1)     list1     ;;          ---------------------结尾。  pattern2)     list2     ;;  ......  pat......