目录
一、循环语句
1.1 for循环
for 通过读取不同的变量值来逐个执行同一组的命令
for首先会在取值表中第一个变量执行命令,然后再取值表中第二的变量执行命令,直到最后一个变量执行完命令为止。
格式:
for 变量名 in 取值列表
do
命令
done
例:
或者循环几次输入一个命令
案例:同时创建多个用户并且设置密码
案例二:
案例三: 检测不同网段是否存在
案例四:
案例五:制作99乘法表
1.2 while 循环语句
while循环语句可以根据特定的条件反复去执行要给命令,直到条件不再满足时为止。
流程:首先判断while 后的条件测试操作结果,如果条件成立,则执行do····done循环体中的命令
返回while后再次判断条件测试结果,如果条件任然成立,则继续执行循环体;再次回到while 后,
判断条件测试结果····如此循环,直到while 后的条件测试结果不再成立为止,最后跳转到done语
句,表示结束循环。
格式:
while 条件测试
do 命令
done
案例一:
案例二:批量创建序号用户
删除用户:
1.3 until 循环语句
与while相反,当条件不成立时会去循环执行命令
格式:
until 条件测试
do
命令
done
案例:
1.4 循环语句的控制
在循环语句中当满足一个条件时将会一直执行对应的命令那么就会进入一个循环的过程,所以就需要跳出或者终止循环。
1.4.1 continue 命令
continue 会终止每次循环中的命令但不会去终止命令
案例:
continue2 :
1.4.2 break 命令
终止本次的循环
案例:
break 2 :
1.4.3 break和continue 区别
continue语句只会结束本次循环但不会去终止整个循环。
break则时结束整个循环过程,不去再去执行循环命令操作。
二、shell中的函数
2.1 函数概述及方法
函数方便了命令的输入,当我们需要重复输入同个命令时我们可以把命令输入到函数里,如果下次想要继续使用命令时直接调用函数就可以直接使用该命令。
格式:
①function 函数名 {
输入的命令内容
}
函数名 ——————>(表示调用这个函数的内容)
②函数名 () {
输入的命令内容
}
函数名 ——————>(表示调用这个函数的内容)
案例 :配置本地源
2.2 return (函数返回值)
return 表示退出函数并且返回一个退出值,可以用$?去查询
案例:
案例:通过返回值去判断文件
2.3 函数的传参数
与位置变量类似在函数内部设置位置参数($1、$2等等),在运行脚本的时候直接输入对应的位置参数即可对应在函数内部中的位置实现参数的传递。
例如:
2.4 函数变量的local命令
local 命令可以将变量限制在函数内部使用
如果把local注释掉
2.5 函数的递归
函数内部去调用别的函数
三、函数的数组
3.1数组的定义
数组中可以存放多个值由()括起来表示一组数组,数组的元素的下标由0开始
格式:
数组名=(元素1 元素2 元素3)
3.2 数组内的索引和元素
${#数组名[*]} 显示数组内有几个元素
${数组名[索引]} 可以显示第几个索引所对应的元素
${数组名[*]} 显示这个数组内所有元素
${数组名[*]:2:3} 提取从索引2对应元素值后的三个元素
${数组名[*]/10/33} 把元素10替换成33
3.3 冒泡排序
冒泡排序就是由两层循环实现,其中外部循环用于循环轮数,内部循环主要对比数组中每个相邻元素之间的大小,从而判断是否去交换位置。
总结
1. for循环语句是可以对列表上的对象进行重复执行一个命令
2.while循环语句是可以根据条件的判断来决定是否重复去执行一个命令
3.until循环语句是与while相反,while是条件成立则执行命令而until是如果条件不成立则去执行一个命令
4.shell函数的定义,在脚本中定义函数可以在下次执行脚本时能够准确的调用具体某个函数所对应的命令,方便了多个脚本的创建
5.数组是由两个部分组成:每个数组中的元素下都对应着一个索引(索引的值由0开始每多一个元素则加1)