目录
一、循环语句
1、循环语句的作用
在编程语言中,循环语句是最基本的语法之一,在Shell(这里是Bash)中也不例外,这里包括for/while/until循环,以及变量自增的语法实例。
二、循环语句的方式
1、for语句
for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区域(在do和done 之间),直到所有元素取尽为止。
其中,串行是一些字符串的组合,彼此用$IFS所定义的分隔符(如空格符)隔开,这些字符串称为字段。
for的语法结构如下:
for 变量 in 串行
do
执行命令
done
案例演示
1、批量创建用户
[root@localhost ~]# vim name.txt
创建用户名字的文件
[root@localhost ~]# vim user.sh
编辑脚本
#!/bin/bash
for i in `cat name.txt`
do
useradd $i
done
[root@localhost ~]# bash user.sh
2、算1-10的相加
[root@localhost ~]# vim shu.sh
#!/bin/bash
shu=0
for i in {1..10}
do
shu=$[shu+i]
let i++
done
echo "10相加的和:" $shu
[root@localhost ~]# bash shu.sh
10相加的和: 55
2、while语句
while语句的用法
- 重复测试某个条件,只要条件成立则反复执行
- 常在不知道范围的时候成立
格式
while 条件判断
do
循环体
done
案例 猜数字游戏
[root@localhost ~]# vim cai.sh
#!/bin/bash
pc=$[RANDOM%10+1]
ci=0
while true
do
read -p "请猜一个数字:" shu
if [ $shu -eq $pc ];
then
echo "你猜对了"
break
elif [ $shu -gt $pc ];
then
echo "你的数大了"
else
echo "你的数小了"
fi
let ci++
done
echo "你输入的次数为:" $ci
[root@localhost ~]# bash cai.sh
请猜一个数字:1
你的数小了
请猜一个数字:0
你的数小了
请猜一个数字:9
你的数大了
请猜一个数字:7
你的数大了
请猜一个数字:5
你的数大了
请猜一个数字:4
你猜对了
你输入的次数为: 5
3、until语句
格式
until 条件测试操作
do
命令操作
done
案例
计算从1加20的结果
[root@localhost ~]# vim suan.sh
#!/bin/bash
shu=0
i=0
until [ $i -gt 20 ]
do
shu=$[shu+i]
let i++
done
echo "1到20的结果为:" $shu
[root@localhost ~]# bash suan.sh
1到20的结果为: 210