Shell中有3中循环,分别是for,while,until,until与while正好相反,前者条件为假则执行,后者条件为真时执行。基本和C语言中额循环没什么区别。只是语法上有些差异。
for循环
格式:
for var in word1 word2 ……
in
command
command
……
done
谈到循环,就不得不说$@变量,它代表该shell脚本的所有参数。所以,要写一个命令行中键入的所有参数的程序就应该向下面这样:
for arg in "$@"
do
echo $arg
done
说到$@就不得不说for循环的另一种形式,就是缺省参数
for var
in
command
command
……
done
上面的程序等价于:
for var in "$@"
in
command
command
……
done
下面的代码中,变量i在每次迭代的过程里都会保存一个字符,范围从a到z:
for i in {a..z}; do actions; done;
for 循环也可以采用C语言中的for循环格式。例如:
for (( i=0; i<10; i++))
{
commands;
}
until循环
until很简单,只要记住它与while正好相反即可,即条件为假继续执行,条件为真,就跳出循环。
while循环
我们知道shell中的if语句结束标识是fi,与c语言相差很大。既然我们已经知道了for循环的形式,那while也就不难了,因为shell不能与它自己差别很大的。
while command1
do
command
command
……
done
示例:
从1数到5的小程序
i=1
while[ "$i" -le 5 ]
do
echo$i
i=$((i + 1 ))
done
正如for循环中,我们穿插介绍了$@一样,讲到while循环,可以顺便介绍一下shift,因为while循环经常跟shift结合使用。shift命令使位置变量下移,即使得$1=$2,$2=$3,最后$#还要减少1,也就是说把第一个参数删除了,而且找不回来了。如果我们要写一个打印所有参数的程序,就因该向这样的:
while[ "$#" -ne 0 ]
do
echo"$1"
shift
done
break和continue
说到循环,肯定不能漏掉break和,continue,它们的作用和在C语言中一模一样,完。
Example
下面是一个综合的示例,用于打印从命令行输入的参数。
- #case1
- k=1
- echo"Case$k:"
- j=0
- foriin"$@"
- do
- j=$(($j+1))
- echo-e"$j\c"
- echo$i
- done
- #case2
- k=$(($k+1))
- echo
- echo"Case$k:"
- j=0
- fori
- do
- j=$(($j+1))
- echo-e"$j\c"
- echo$i
- done
- #case3
- #testcontinue
- k=$(($k+1))
- echo
- echo"Case$k:"
- j=0
- while[$j-lt$#]
- do
- j=$(($j+1))
- if[$j-eq3]
- then
- continue
- fi
- echo-e"$j\c"
- evalecho"\$$j"
- done
- #case4
- k=$(($k+1))
- echo
- echo"Case$k:"
- j=0
- until[$j-eq$#]
- do
- if[$j-eq3]
- then
- break
- fi
- j=$(($j+1))
- echo-e"$j\c"
- evalecho"\$$j"
- done
测试结果如下:
分享到:
相关推荐
Shell脚本合集 Shell脚本是一种脚本语言,利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能。 Shell脚本可以直接使用在Windows、Unix、Linux上面,并且可以调用大量系统内部的功能来解释...
### shell脚本循环调度程序知识点解析 #### 一、标题:shell脚本循环调度程序 在计算机编程领域,shell脚本是一种使用Unix Shell语言编写的脚本程序,它被广泛应用于自动化任务处理、系统管理等领域。标题“shell...
首先,Shell脚本的基础包括变量、条件语句、循环结构和函数。变量是存储数据的地方,可以是文本、数字或者其他类型。在Shell脚本中,变量声明简单,直接赋值即可。条件语句(如if-else)用于根据不同的条件执行不同...
在Shell脚本编程中,循环结构是不可或缺的一部分,它允许我们重复执行一段代码,直到满足特定条件为止。这里,我们将详细探讨在Shell脚本中常用的几种循环操作。 1. **For循环** For循环用于遍历一个列表或一组值...
这展示了Shell脚本在安全领域的应用,结合正则表达式和循环结构处理日志数据。 2. Linux系统告警脚本:这个脚本用于发送系统告警邮件,例如在系统发生特定事件时。它演示了如何设置mailx工具发送邮件,以及使用vi...
### Shell脚本之无限循环的两种方法 在Shell脚本编程中,循环结构是一种非常重要的控制结构,它允许我们重复执行一系列命令直到满足特定条件为止。无限循环是一种特殊的循环形式,意味着循环会一直持续下去,除非...
Shell脚本编程是Linux系统管理中的重要技能,它允许用户自动化执行一系列命令,大大提高工作效率。以下是一些关于Shell脚本编程的关键知识点: 1. **Hello World脚本**:这是所有编程语言的基础,用于验证环境设置...
在这个练习中,我们将编写一个SHELL脚本,利用循环和continue关键字,计算100以内能被3整除的数之和。脚本代码如下: ```bash #!/bin/sh sum=0 for a in `seq 1 100` do if [ `expr $a % 3` -ne 0 ] then ...
"shell脚本与Makefile区别" shell 脚本和 Makefile 是两个不同的工具,它们都用于自动化构建和编译过程,但是它们有很大的不同之处。本文将详细介绍 shell 脚本和 Makefile 的区别。 首先,shell 脚本和 Makefile ...
在IT领域,Shell脚本是Linux和Unix操作系统中不可或缺的一部分,它是一种强大的自动化工具,能够帮助用户执行一系列命令,简化日常任务。"shell脚本大全"这个资源可能包含了大量的示例脚本,涵盖了各种用途和场景,...
在 system/core/init/init.rc 中的 Main 函数中,有一个 for 循环,其中有一个 handle_property_set_fd() 函数,该函数负责检查权限和执行脚本。我们可以在该函数中添加一些代码来让我们的服务启动。例如,我们可以...
Korn Shell脚本还可以使用for循环来读取文件中的行,并执行相应的操作。在脚本中,可以使用不同的命令,如date命令、hostname命令等,以获取相应的信息。 Korn Shell脚本提供了一个强大且灵活的方式来自动化Unix...
《Linux命令行与Shell脚本编程大全》是一本专为Linux初学者编写的经典教材,旨在帮助读者深入理解和掌握Linux操作系统中的基本命令行操作以及Shell脚本编程技术。这本书全面覆盖了从基础到进阶的各种主题,对于想要...
shell脚本编程基础知识点 shell脚本是Linux操作系统中的一种编程语言,用于自动执行一系列命令。shell脚本文件是一个纯文本文件,可以使用任何文本编辑器编写,通常以.sh作为后缀名。 一、shell脚本的基本结构 ...
2. **Shell随机数与循环嵌套**:在Shell脚本中,可以使用RANDOM变量来生成随机数,这对于模拟、测试或创建随机行为的脚本非常有用。同时,循环嵌套是指在一个循环体内部再包含另一个循环,如for或while循环,这可以...
Shell脚本的基本构成包括:变量、环境变量、命令执行、流程控制(如if语句、for循环、while循环等)、函数定义和使用、输入输出处理等。掌握这些基本元素对于编写有效、高效的Shell脚本至关重要。 1. 变量和环境...
在IT行业中,Shell脚本是一种极其重要的自动化工具,特别是在Linux和Unix系统中。Shell脚本允许用户通过编写简单的命令序列来执行复杂的任务,极大地提高了工作效率。以下是对"shell 脚本 实例"这一主题的详细说明。...
1. **基础语法**:Shell脚本的基础包括变量定义、条件语句(if-else)、循环结构(for, while)、函数定义等。变量在Shell中用来存储数据,可以通过"$"符号来引用。条件语句和循环结构用于控制程序的流程,根据不同...
描述部分反复强调“学习shell脚本的必读之术”,意味着这本书或者文档是关于Shell脚本学习的重要资源,可能覆盖了从基础入门到高级应用的各个方面。对于任何希望提高Linux/Unix环境下工作效率的IT专业人员来说,掌握...