Shell循环语句for、while、until

           一、条件测试

           二、删除字符

           三、循环语句

             示例1

             示例2

           四、while循环语句结构(迭代)

             示例1

             示例2

           五、until 循环语句结构

一、条件测试

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  变量名  in  取值列表
do
命令序列
done
for i in 1 2 3 4 5 6  或  for i in {1..6}  或  for i in ${seq 1 6}
>do
>echo $i
>done
1
2
3
4
5
6

例:

几种不同的表达方式

for ((i=1; i<=10; i++))   或   for ((i=1; i<=10; i++)); {echo $i; }
>do
>echo $i
>done
1
2
3
4
5
6
7
8
9
10

例:

示例1

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

示例2

根据IP地址检查主机状态
◆IP地址存放在ipadds.txt文件中,每行一个。

◆使用ping命令检测各主机的连通性。

四、while循环语句结构(迭代)

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

while  [ 条件测试操作 ]
do #do代表循环的开始
判断式/命令序列
done #done代表循环的结束

示例1

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

示例2

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

五、until 循环语句结构

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

until  [ 条件测试操作 ]
do
判断式/命令序列
done

示例

计算1~50的和值
◆通过循环累加的方式计算1~50的和值。

Shell循环语句for、while、until的更多相关文章

  1. shell循环语句

    所有的笔记只记录一些例子,根据例子解释一些出现的语法,不介绍具体的语法 2015-07-01 21:58:33 星期三 for循环 用例一用for循环在家目录下创建aaa1-aaa10,然后在aaa1 ...

  2. shell循环语句until

    until 条件 do 执行命令 done until 循环与 while 循环在处理方式上刚好相反. 当条件成立的时候,停止循环.

  3. shell循环语句for

    1.方式1 for i in {list[0]} {list[1]} .. do 执行命令 done 2.方式2(三要素循环) for (( 初始值; 判断值; 步长; )) do 执行命令 done

  4. shell 循环语句

    1.while 2.for 3.until 4.select while #!/bin/bash # 显示一系列数字 count=1 while [ $count -le 6 ]; do echo $ ...

  5. shell循环语句while

    格式1: while 条件 do 执行命令 done 格式2: while 条件;do 命令 done 例子: while [ 1 -eq 1 ];do echo "这一步需要先修改/dat ...

  6. shell 学习笔记9-while/until循环语句

    一.while循环语句 1.循环语句 循环愈久就是重复执行一条指令或一组执行,知道条件不在满足时停止,shell循环语句包括,while.until.for.select语句 2.while循环 主要 ...

  7. shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句

    shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句条件语句 if(条件表达式) 动作1 else if(条件表达式) 动作2 else 动 ...

  8. shell编程基础(二): shell脚本语法之分支语句和循环语句

    一.分支语句 1.条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1(注意与 ...

  9. Shell脚本应用(for、while循环语句和case分支语句)

    1.for:读取不同的变量值,逐个执行同一组命令,直到取值完毕退出,变量值以空格分隔 语法: for  变量值  in  取值列表 do 命令序列 done 2.while:重复测试某个条件,成立则执 ...

随机推荐

  1. Java,用户刷屏检测\相似字符串检测

    背景 近期有几个业务方提出一需求,期望判断一个用户在短期内是否存在刷屏现象,出现后能对其做出限制,并上报. 刷屏定义:取出用户近期20条评论,如果有50%的评论是"相似"的,则认为 ...

  2. Docker学习(12) Dockerfile构建过程

    Dockerfile的构建过程 以上为构建缓存

  3. 3 Python相对路径地址的的一个问题

    构建程序xiaojie_test.py import os from xxx.yyy import test test() 同目录下构建一个目录xxx,并且目录中有/tmp/results/graph ...

  4. 实时实例分割的Deep Snake:CVPR2020论文点评

    实时实例分割的Deep Snake:CVPR2020论文点评 Deep Snake for Real-Time Instance Segmentation 论文链接:https://arxiv.org ...

  5. MindSpore平台系统类

    MindSpore平台系统类 Q:MindSpore只能在华为自己的NPU上跑么? A: MindSpore同时支持华为自己的Ascend NPU.GPU与CPU,是支持异构算力的. Q:MindSp ...

  6. flume采集MongoDB数据到Kafka中

    环境说明 centos7(运行于vbox虚拟机) flume1.9.0(自定义了flume连接mongodb的source插件) jdk1.8 kafka(2.11) zookeeper(3.57) ...

  7. python pyyaml操作yaml配置文件

    在测试工作中,可以使用yaml编写测试用例,执行测试用例时直接获取yaml中的用例数据进行测试(如:接口自动化测试) 1.什么是yaml 是一种可读的数据序列化语言,通常用于配置文件 非常简洁和强大, ...

  8. C# —— 点击按钮动态打开ComboBox

    网上搜索了好多资料,大多是重绘ComboBox或者使用自定义控件创建一个全新的ComboBox(并非基于window的ComboBox). 对于菜鸟的我,实现太麻烦,有些代码理解起来困难,但是项目比较 ...

  9. ClickHouse学习系列之四【副本&分片部署说明】

    背景 以前介绍过ClickHouse相关的系列文章,现在继续说明.本文开始说明ClickHouse的副本与分片,和其他数据库一样,ClickHouse也会出现单节点故障和单节点资源到达上限的情况.所以 ...

  10. git 认证问题之一的解决 : http ssh 互换

    场景 使用git 我们经常会遇到 认证失败的情况,有时候确实是搞错了用户名或者密码,还有的时候及时用户名密码用对了也还是认证失败. 此时, 就有可能是下面这个情况. 没有配置 ssh 秘钥, 而用了 ...