shell编程之循环语句与函数

一.for语句的结构
1.读取不同的变量值,用来逐个执行同一组命令
在这里插入图片描述
二.for语句应用示例
1.示例
·批量添加用户
①.用户名存放在users.txt文件中,每行一个
②.初始密码均设为123456
③.验证脚本
#vim /root/users.txt
#vim uaddfor.sh
#!/bin/bash
ULIST=$(cat/root/users.txt)
for UNAME in $ULIST
do
useradd $UNAME
echo “123456” | passwd __stdin $UNAME &> /dev/null
done
#chmod +x uaddfoe.sh
#./uaddfor.sh

三.while语句结构
1.重复测试某个条件,只要条件成立则反复执行
在这里插入图片描述
四.while语句应用示例
1.示例
·批量添加用户
①.用户名称以su开头,按数字顺序进行编号
②.一共添加20个用户,即stu1,stu2…stu20
③.初始密码均设为123456
#vim uaddwhile.sh
#!/bin/bash
PREFIX=“stu”
i=1
while [ $i -le 20 ]
do
useradd P R E F I X {PREFIX} PREFIXi
echo “123456” | passwd --stdin P R E F I X {PREFIX} PREFIXi &> /ev/null
let i++
done
#chmod +x uaddwhile.sh
#./uaddwhile.sh

五.until语句的结构
1.重复测试某个条件,只要条件不成立则反复执行
在这里插入图片描述

六.until语句示例
1.示例
·计算1~100的和值
①.通过循环累加的方式计算1~100的和值
#!/bin/bash

i=0
n=1
while [ n − l t 101 ] ; d o i = n -lt 101 ];do i= nlt101];doi=(( $i + n ) ) n = n )) n= n))n=(( $n + 1 ))
done
echo $i

七.shell函数
1.将命令序列按格式写在一起
2.可方便重复使用命令
3.shell函数定义
[ function ] 函数名(){
命令序列
[return x]
}

八.函数的作用范围
1.函数在shell脚本中仅在当前shell环境中有效
2.shell脚本中变量默认全局有效
3.将变量限定在函数内部使用local命令
4.示例
·函数内部变量通过local来实现
①通过定义myfun函数,在其内部设置局部变量i
②.函数内部和外部分别复制,进行结果验证

九.函数的参数
1.参数的用法
函数名称 参数1 参数2 …
2.参数的表示方法
·$1 $2 3...... 3 ...... 3......{10}…

十.递归函数
1.调用自己本身的函数
2.示例
·递归遍历目录
①通过定义递归函数list_files来实现

十一.shell属组
1.应用场景包括
·获取数组长度
·获取元素长度
·遍历元素
·元素切片
·元素替换
·元素删除

2.数组定义的方法
·方法1: 数组名={value00 value1…}
·方法2:数组名=([0]=value [1]=value…)
·方法3:列表名"value0 value1 …"
数组名=($列表名)
·方法4:数组名[0]=“value”
数组名[1]=“value”

3.数组包括的数据类型
·数值类型
·字符类型
①.使用""或’'定义

十二.shell调试
1.echo命令
2.bash命令
·命令语法
sh [-nvx] 脚本名
·常用选项
-n,-v,-x
3.set命令
·set -x:开启调节模式
·set +x:关闭调节模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值