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. css——圣杯布局

    圣杯布局要求 header和footer各自占领屏幕所有宽度,高度固定 中间dontainer部分为左中右三栏式布局 三栏布局中左右两侧宽度固定,中间部分自动填充 实现方式 1.浮动 先定义heade ...

  2. Linux架构思维导图

    Linux架构思维导图 GUI(Graphical User Interface,图形用户界面) Linux学习路径 软件框架 Linux桌面介绍 FHS:文件系统目录标准 Linux需要特别注意的目 ...

  3. postman之将获取响应数据-创建环境变量,用于不同的接口调用

    应用场景: token的获取,用于不同接口的取值 在test中进行如下设置: var jd = pm.response.json(); var access_token = jd.access_tok ...

  4. mybatis入门案例——IDEA版

    环境:IDEA2017,jdk1.8.0,maven3.5.2 步骤: 1.创建一个普通Maven工程,删掉src目录,再创建一个maveb的model命名为mybatis-01 2.配置 pom.x ...

  5. DHCP:IP 并非与生俱来

    初识 DHCP 众所周知,因特网上的每台设备都规定了其全世界唯一的地址,也就是说 "IP 地址",正是由于有了 IP 地址,才保证了用户在连网的计算机上操作时,能够高效而且方便地从 ...

  6. k8s-记一次安全软件导致镜像加载失败

    近期在现场项目中遇到了一个镜像加载失败的问题,相关报错如下: Error processing tar file(exit status 1): symlink . /usr/bin/X11: per ...

  7. 6.10考试总结(NOIP模拟6)

    前言 就这题考的不咋样果然还挺难改的.. T1 辣鸡 前言 我做梦都没想到这题正解是模拟,打模拟赛的时候看错题面以为是\(n\times n\)的矩阵,喜提0pts. 解题思路 氢键的数量计算起来无非 ...

  8. typescript 中的 infer 关键字的理解

    infer 这个关键字,整理记录一下,避免后面忘记了.有点难以理解呢. infer infer 是在 typescript 2.8中新增的关键字. infer 可以在 extends 条件类型的字句中 ...

  9. Spring Boot下的一种导入Excel文件的代码框架

    1.前言 ​ Spring Boot下如果只是导入一个简单的Excel文件,是容易的.网上类似的文章不少,有的针对具体的实体类,代码可重用性不高:有的利用反射机制或自定义注解,开发了Excel导入工具 ...

  10. rust漫游 - 写时拷贝 Cow<'_, B>

    rust漫游 - 写时拷贝 Cow<'_, B> Cow 是一个写时复制功能的智能指针,在数据需要修改或者所有权发生变化时使用,多用于读多写少的场景. pub enum Cow<'a ...