目录
for循环
1、执行机制:
遍历;依次将列表中的元素赋值给“变量名”;每次赋值后即执行以此循环体;直到列表中的元素耗尽,循环结束
for循环格式:
格式一:
for 变量名 in 取值列表
do
命令序列
done
格式二:
for (( 表达式1; 表达式2; 表达式3 ));
do
命令
done
例:
格式一示例
代码块
[root@localhost ~]#for i in {1..10}
> do
> echo $i
> done
结果视图
格式一中运用的是遍历,依次将值赋给变量之后挨个输出值
格式二示例:
代码块
for ((i=1; i<=10; i++))
> do
> echo $i
> done
结果视图
格式二中需要有迭代,并且要给变量一个初始值,使迭代能够执行
shell脚本for语句示例:
示例一
求1~10的和
代码
#!/bin/bash
#for语句求1~10的和
sum=0
for i in {1..10}
do
sum=$[ sum+i ]
done
echo "求和的结果是$sum"
代码截图:
结果截图:
示例二
批量创建用户
代码:
#!/bin/bash
#批量创建用户
for user in $(cat /demo/users.txt)
do
useradd $user
echo "123456" |passwd --stdin $user
done
代码截图:
结果截图:
tip:这段代码是显示更改密码的过程,若要不显示密码更改过程,则可以在“echo "123456" | passwd --stdin $user”后加上“>> /dev/null”将显示内容放到回收站内,则不会显示过程
while循环语句
while格式:
while 条件测试操作
do
命令序列
done
while循环示意图:
实验示例
数字打印
[root@localhost ~]#a=0
[root@localhost ~]#while [ $a -le 10 ]
> do
> echo $a
> let a++
> done
0
1
2
3
4
5
6
7
8
9
10
[root@localhost ~]#
结果截图:
while语句批量创建用户
要求添加十个用户,用户名以stu开头,按照顺序进行编号,初始密码设为123456
#!/bin/bash
#批量创建用户
a=1
while [ $a -le 10 ]
do
useradd stu$a -M
echo "123456" | passwd --stdin stu$a >/dev/null
let a++
done
结果截图:
until循环语句
作用:
重复测试某个条件
格式:
until 条件测试
do
命令
done
until循环导图
示例演示
数字打印(1~10)
[root@localhost demo1]#
[root@localhost demo1]#a=1
[root@localhost demo1]#until [ $a -gt 10 ]
> do
> echo $a
> let a++
> done
1
2
3
4
5
6
7
8
9
10
tip:until的用法与while正好相反
求1~10的和
#!/bin/bash
sum=0
i=1
until [ $i -gt 10 ]
do
let sum=$[sum+i]
let i++
done
echo "1到10的求和结果是:$sum"
结果截图: