[转帖]shell 循环语句for/do/done和while/do/done以及break,continue

shell 循环语句for/do/done和while/do/done以及break,continue

https://blog.csdn.net/weixin_38280090/article/details/81843264

原创舌耳 发布于2018-08-19 22:58:17 阅读数 15072 收藏
展开

for/do/done
Shell脚本的for循环结构和C语言很不一样,它类似于某些编程语言的foreach循环。例如:

#! /bin/sh

for FRUIT in apple banana pear; do
echo "I like $FRUIT"
done
FRUIT是一个循环变量,第一次循环$FRUIT的取值是apple,第二次取值是banana,第三次取值是pear。再比如,要将当前目录下的chap0、chap1、chap2等文件名改为chap0~、chap1~、chap2~等(按惯例,末尾有~字符的文件名表示临时文件),这个命令可以这样写:

for FILENAME in chap?; do mv $FILENAME $FILENAME~; done
也可以这样写:

for FILENAME in `ls chap?`; do mv $FILENAME $FILENAME~; done
while/do/done
while的用法和C语言类似。比如一个验证密码的脚本:

#! /bin/sh

echo "Enter password:"
read TRY
while [ "$TRY" != "secret" ]; do
echo "Sorry, try again"
read TRY
done
下面的例子通过算术运算控制循环的次数:

#! /bin/sh

COUNTER=1
while [ "$COUNTER" -lt 10 ]; do
echo "Here we go again"
COUNTER=$(($COUNTER+1))
done
Shell还有until循环,类似C语言的do...while循环。本章从略。

break和continue
break[n]可以指定跳出几层循环,continue跳过本次循环步,没跳出整个循环。

break跳出,continue跳过。
————————————————
版权声明:本文为CSDN博主「舌耳」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38280090/article/details/81843264

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/12084152.html

时间: 2024-08-08 07:32:34

[转帖]shell 循环语句for/do/done和while/do/done以及break,continue的相关文章

老男孩教育每日一题-第63天-批量创建用户并设置随机密码(要求不能使用shell循环语句)

题目:批量添加20个用户,用户名为user1~20,密码为5个随机字符(要求不能使用shell循环语句) 解决方法 方法1  echo user{1..20}|xargs -n1|sed -r 's#(.*)#useradd \1 \&\& echo \1 >>/tmp/passwd.txt \&\& echo $RANDOM |md5sum |cut -c 1-5>>/tmp/passwd.txt \&\& echo `tail -

Shell循环语句多种用法

for循环语句 列表形式有: 实例1 在命令中定义一系列的值 第一种写法: [[email protected] ~]# vim 1.sh #!/bin/bash for i in 1 2 3 4 //在命令中定义列表 do echo $i done [[email protected] ~]# sh 1.sh 1 2 3 4 第二种写法: [[email protected] ~]# vim 2.sh #!/bin/bash for i in {1..5} do echo $i done [[

shell 循环语句应用实例

1 for语句 语法格式 for 变量 in 值(或者循环条件) do 命令 done 给多个用户发送邮件 #!/bin/bash domain=163.com for user in tom hom jem do mail -s "happy new year" [email protected]$domain < /var/log/messages done 打印9*9的乘法口诀 #!/bin/bash for i in {1..9} do for ((j=1,j<=i

Shell循环语句:if

[[email protected] ~]# vim mkcdrom.sh #!/bin/bashDIR="/media/cdrom"if [ ! -e $DIR ]thenmkdir -p $DIRfi [[email protected] ~]# vim chkhost.sh#!/bin/bash ping -c 3 -i 0.2 -W 3 $1 &> /dev/nullif [ $? -eq 0 ]thenecho "Host $1 is on-line&

Swift流程控制之循环语句和判断语句详解

Swift提供了所有c类语言的控制流结构.包括for和while循环来执行一个任务多次:if和switch语句来执行确定的条件下不同的分支的代码:break和continue关键字能将运行流程转到你代码的另一个点上. 除了C语言传统的for-condition-increment循环,Swift加入了for-in循环,能更加容易的遍历arrays, dictionaries, ranges, strings等其他序列类型. Swift的switch语句也比C语言的要强大很多. Swift中swi

shell基础(八)-循环语句

国庆过后:感觉有点慵懒些了:接着上篇:我们继续来学习循环语句. 一. for循环 与其他编程语言类似,Shell支持for循环. for循环一般格式为: for 变量 in 列表 do command1 command2 ... commandN done 列表是一组值(数字.字符串等)组成的序列,每个值通过空格分隔.每循环一次,就将列表中的下一个值赋给变量 例如,顺序输出当前列表中的数字 for01.sh $ cat for01.sh #!/bin/sh for i in 1 2 3 4 5

shell脚本中用到的条件和循环语句

本博文介绍一下shell脚本中常用的条件和循环语句: 条件语句: 循环语句: 示例: if语句: eg1. eg2. 2.case语句: 简单的case语句: 配合循环的case语句: 3.for语句: 简单的for语句:eg1. eg2. 和case搭配的for语句:eg3. 4.while语句: eg1. eg2. 5.util语句: 6.select语句:

Shell中的循环语句实例

1.for循环语句实例1.1 最基本的for循环 #!/bin/bash for x in one two three four do     echo number $x done 注:"for" 循环总是接收 "in" 语句之后的某种类型的字列表.在本例中,指定了四个英语单词,但是字列表也可以引用磁盘上的文件,甚至文件通配符.实例1.2 #!/bin/bash for x in /var/log/* do     #echo "$x is a file

shell学习之for循环语句【初学者】

前言:日常系统管理工作中有大量需要重复运行的指令,shell编程提供了for.while.until.select循环语句以实现特定指令的反复执行功能,在所有的循环语句中,变量必须要有初始值,每次运行命令序列前都需要对条件进行过滤,满足条件才会运行命令,否则不执行相关操作.下面介绍的就是for循环语句的两种语法格式. for 循环每次处理依次列表内信息,直至循环耗尽.相对于while.until的循环方式是必须符合某个条件的状态,for这种语法是已经知道要进行几次循环的状态. 语法格式1: fo