for、while 、until循环语句
一、for循环语句
读取不同的变量值,用来逐个执行同一组命令
遍历的过程:把文本中所有的内容都执行一遍
1.格式用法
空格 tab键(制表符) 换行,去取for循环去遍历的列表
每一次遍历去执行一次do的操作
格式:
for 变量名 in 取值列表
do
命令序列(命令行)
done
循环输出1-10
for i in {1..10}
i++ i=i+1 #自增1
i+=2 i=i+2 #自增2
i+=3 i=i+3 #自增3
2.for循环示例
例1:用for语句 输出1-100的所以整数和
例2:用for语句 输出1-100的所以偶数和
例3:把用户列表中的所有用户名,循环添加密码为123123的用户
用户列表:
执行后的用户文件中。
例4 :根据IP地址检测主机状态
主机列表文件
二、while循环语句
对于要求控制循环次数、操作对象按数字顺序编号、按特定条件执行重复操作等情况,更适用while循环语句
1、while语句的结构
2、取随机数,即固定位数的随机数
3、1000以内的猜数游戏
三、until语句
1. until语句结构
until 条件测试操作
do
命令序列
done
四、常用转义字符
1.echo -n 表示不换行输出
2.echo -e 输出转义字符,将转义后的内容输出到屏幕上
3.常用的转义字符如下: \b 转义后相当于按退格键(backspace),但前提是"\b"后面存在字符;"\b"表示删除前一个字符,"\b\b"表示删除前两个字符。
4.\c 不换行输出,在"\c"后面不存在字符的情况下,作用相当于 echo -n; 但是当"\c"后面仍然存在字符时,"\c"后面的字符将不会被输出。
5.\n 换行,被输出的字符从"\n"处开始另起一行。
6.\f 换行,但是换行后的新行的开头位置连接着上一行的行尾;
7.\v 与\f相同;
8.\t 转以后表示插入tab,即横向制表符;
9.\r 光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符;但是当"\r"后面不存在任何字符时,"\r"前面的字符不会被覆盖
10.\\ 表示插入"\"本身;
1.常用转义符 -n
echo -n 表示对下一行不换行
2.常用 -e
echo -e 输出转义字符,将转义后的内容输出到屏幕上d
这里配合使用"\t"即,在rain后面加一个TAB横向制表符。
其他的转义字符配合-e使用。
五、双重for循环
即在一个for循环内部再加一个for循环。
这里用如下事例,可以看出,在执行一次a=1的循环 时,b执行了5次。
六、break 和 continue
1.break跳出单个循环
在内循环执行break 就跳出当前的内循环了,去执行外循环了
作用:
1跳出当前循环
2并且break下面的语句不去执行
我们可以通过内外循环的输出来看break的特性。
#!/bin/bash
#break
for(( a=1;a<=5; a++ ))
do
echo "outside $a"
for ((b=1;b<=5;b++ ))
do
if [ $b -eq 4 ]
then
break #这里当b=4的时候,进行break,不进行后面的输出$b.
fi
echo "inside $b "
done
done
内循环到4就停止了,5不去判断了。
2.continue
中止某次循环,不会完全终止整个命令
#!/bin/bash
#continue
for (( a=1;a<=15;a++))
do
if [ $a -gt 5 ] && [ $a -lt 10 ]
then
continue
fi
echo " $a "
done
部分终止循环。