for / while / until 基础循环语句案例图解 shell编程之循环语句

Posted wl.88888888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for / while / until 基础循环语句案例图解 shell编程之循环语句相关的知识,希望对你有一定的参考价值。

一.条件测试

echo -n 表示不换行输出

echo -e 输出转义字符,将转义后的内容输出到屏幕上

在这里插入图片描述

在这里插入图片描述
常用的转义字符如下:

\\b
转义后相当于按退格键(backspace) ,但前提是"\\b"后面存在字符; “\\b"表示删除前一个字符,”\\b\\b"表示删除前两个字符
在这里插入图片描述

\\c
不换行输出,在"\\c"后面不存在字符的情况下,作用相当于echo -n;

但是当"\\c"后面仍然存在字符时,"\\c"后面的字符将不会被输出
在这里插入图片描述

\\n
换行,被输出的字符从"\\n"处开始另起一 行
在这里插入图片描述

\\f
换行,但是换行后的新行的开头位置连接着上一行的行尾
在这里插入图片描述

\\v
与\\f相同

\\t
转以后表示插入tab,即横向制表符
在这里插入图片描述

\\r
光标移至行首,但不换行,相当于使用"\\r"以后的字符覆盖"\\r"之前同等长度的字符;但是当"\\r"后面不存在任何字符时,"\\r"前面的字符不会被覆盖
在这里插入图片描述

\\ \\
表示插入" \\ " 本身

在这里插入图片描述

在这里插入图片描述

i=`echo  "11, 22, 33, 44"`
echo ${i%, *}
11, 22, 33
//从最后倒数到最短的匹配部分(用%)后面的逗号的地方被删除

echo ${i%%, *}
11
//从最后倒数到最长的匹配部分(用88)后面的逗号的地方都被删除

echo ${i#*,}
22, 33, 44
//从开头到最短的匹配部分(#)后面的逗号的地方被删除

echo ${i##*, }
44
//从开头到最长的匹配部分(##)后面的逗号的地方被删除

在这里插入图片描述
补充:
在这里插入图片描述

二.循环语句

① for循环语句结构(遍历)

读取不同的变量值,用来逐个执行同一组命令

for i in {1..10}         {1..10..2}

for i in $(seq 1 10)     $(seq 1 2 10)

for ( (i=1; i<=10; i++) )  ( (i=1; i<=10; i+=2) )
do
   echo  $i
done

for ( (i=1; i<=10; i++)) ;do echo $i ;done

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

示例1

批量添加用户
◆ 用户名存放在users.txt文件中,每行一个
◆ 初始密码均设为123456
◆ 验证脚本

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

示例2

根据IP地址检查主机状态
◆IP地址存放在ipadds.txt文件中,每行一个
◆使用ping命令检测各主机的连通性

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

② while循环语句结构(迭代)

重复测试某个条件,只要条件成立则反复执行

示例1

批量添加用户
◆ 用户名称以stu开头,按数字顺序进行编号
◆ 一共添加20个用户,即stu1、 stu2、…、stu20
◆ 初始密码均设为123456

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

示例2

猜商品价格游戏
◆ 通过变量RANDOM获得随机数
◆ 提示用户猜测并记录次数,猜中后退出循环.

在这里插入图片描述
注:RANDOM值为0-65535

在这里插入图片描述

③ until 循环语句结构

重复测试某个条件,只要条件不成立则反复执行

示例1

计算1~50的和值
◆通过循环累加的方式计算1~50的和值
在这里插入图片描述
在这里插入图片描述

以上是关于for / while / until 基础循环语句案例图解 shell编程之循环语句的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本——循环(for+while+until)

shell脚本编程循环之for/while/untill循环

Shell脚本——for,while,until循环

shelll脚本 for while until 循环

while until for switch 哪个不是shell的循环控制结构

Shell Scripts - 循环while,until,for