Shell循环语句for、while、until
Shell循环语句for、while、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的更多相关文章
- shell循环语句
所有的笔记只记录一些例子,根据例子解释一些出现的语法,不介绍具体的语法 2015-07-01 21:58:33 星期三 for循环 用例一用for循环在家目录下创建aaa1-aaa10,然后在aaa1 ...
- shell循环语句until
until 条件 do 执行命令 done until 循环与 while 循环在处理方式上刚好相反. 当条件成立的时候,停止循环.
- shell循环语句for
1.方式1 for i in {list[0]} {list[1]} .. do 执行命令 done 2.方式2(三要素循环) for (( 初始值; 判断值; 步长; )) do 执行命令 done
- shell 循环语句
1.while 2.for 3.until 4.select while #!/bin/bash # 显示一系列数字 count=1 while [ $count -le 6 ]; do echo $ ...
- shell循环语句while
格式1: while 条件 do 执行命令 done 格式2: while 条件;do 命令 done 例子: while [ 1 -eq 1 ];do echo "这一步需要先修改/dat ...
- shell 学习笔记9-while/until循环语句
一.while循环语句 1.循环语句 循环愈久就是重复执行一条指令或一组执行,知道条件不在满足时停止,shell循环语句包括,while.until.for.select语句 2.while循环 主要 ...
- shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句
shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句条件语句 if(条件表达式) 动作1 else if(条件表达式) 动作2 else 动 ...
- shell编程基础(二): shell脚本语法之分支语句和循环语句
一.分支语句 1.条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1(注意与 ...
- Shell脚本应用(for、while循环语句和case分支语句)
1.for:读取不同的变量值,逐个执行同一组命令,直到取值完毕退出,变量值以空格分隔 语法: for 变量值 in 取值列表 do 命令序列 done 2.while:重复测试某个条件,成立则执 ...
随机推荐
- css——圣杯布局
圣杯布局要求 header和footer各自占领屏幕所有宽度,高度固定 中间dontainer部分为左中右三栏式布局 三栏布局中左右两侧宽度固定,中间部分自动填充 实现方式 1.浮动 先定义heade ...
- Linux架构思维导图
Linux架构思维导图 GUI(Graphical User Interface,图形用户界面) Linux学习路径 软件框架 Linux桌面介绍 FHS:文件系统目录标准 Linux需要特别注意的目 ...
- postman之将获取响应数据-创建环境变量,用于不同的接口调用
应用场景: token的获取,用于不同接口的取值 在test中进行如下设置: var jd = pm.response.json(); var access_token = jd.access_tok ...
- mybatis入门案例——IDEA版
环境:IDEA2017,jdk1.8.0,maven3.5.2 步骤: 1.创建一个普通Maven工程,删掉src目录,再创建一个maveb的model命名为mybatis-01 2.配置 pom.x ...
- DHCP:IP 并非与生俱来
初识 DHCP 众所周知,因特网上的每台设备都规定了其全世界唯一的地址,也就是说 "IP 地址",正是由于有了 IP 地址,才保证了用户在连网的计算机上操作时,能够高效而且方便地从 ...
- k8s-记一次安全软件导致镜像加载失败
近期在现场项目中遇到了一个镜像加载失败的问题,相关报错如下: Error processing tar file(exit status 1): symlink . /usr/bin/X11: per ...
- 6.10考试总结(NOIP模拟6)
前言 就这题考的不咋样果然还挺难改的.. T1 辣鸡 前言 我做梦都没想到这题正解是模拟,打模拟赛的时候看错题面以为是\(n\times n\)的矩阵,喜提0pts. 解题思路 氢键的数量计算起来无非 ...
- typescript 中的 infer 关键字的理解
infer 这个关键字,整理记录一下,避免后面忘记了.有点难以理解呢. infer infer 是在 typescript 2.8中新增的关键字. infer 可以在 extends 条件类型的字句中 ...
- Spring Boot下的一种导入Excel文件的代码框架
1.前言 Spring Boot下如果只是导入一个简单的Excel文件,是容易的.网上类似的文章不少,有的针对具体的实体类,代码可重用性不高:有的利用反射机制或自定义注解,开发了Excel导入工具 ...
- rust漫游 - 写时拷贝 Cow<'_, B>
rust漫游 - 写时拷贝 Cow<'_, B> Cow 是一个写时复制功能的智能指针,在数据需要修改或者所有权发生变化时使用,多用于读多写少的场景. pub enum Cow<'a ...