`
dengwenwei121
  • 浏览: 38442 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
最新评论

Shell脚本之循环

 
阅读更多

Shell中有3中循环,分别是for,while,untiluntilwhile正好相反,前者条件为假则执行,后者条件为真时执行。基本和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


breakcontinue

说到循环,肯定不能漏掉break和,continue,它们的作用和在C语言中一模一样,完。


Example

下面是一个综合的示例,用于打印从命令行输入的参数。

  1. #case1
  2. k=1
  3. echo"Case$k:"
  4. j=0
  5. foriin"$@"
  6. do
  7. j=$(($j+1))
  8. echo-e"$j\c"
  9. echo$i
  10. done
  11. #case2
  12. k=$(($k+1))
  13. echo
  14. echo"Case$k:"
  15. j=0
  16. fori
  17. do
  18. j=$(($j+1))
  19. echo-e"$j\c"
  20. echo$i
  21. done
  22. #case3
  23. #testcontinue
  24. k=$(($k+1))
  25. echo
  26. echo"Case$k:"
  27. j=0
  28. while[$j-lt$#]
  29. do
  30. j=$(($j+1))
  31. if[$j-eq3]
  32. then
  33. continue
  34. fi
  35. echo-e"$j\c"
  36. evalecho"\$$j"
  37. done
  38. #case4
  39. k=$(($k+1))
  40. echo
  41. echo"Case$k:"
  42. j=0
  43. until[$j-eq$#]
  44. do
  45. if[$j-eq3]
  46. then
  47. break
  48. fi
  49. j=$(($j+1))
  50. echo-e"$j\c"
  51. evalecho"\$$j"
  52. done


测试结果如下:


分享到:
评论

相关推荐

    109个shell脚本合集.pdf

    Shell脚本合集 Shell脚本是一种脚本语言,利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能。 Shell脚本可以直接使用在Windows、Unix、Linux上面,并且可以调用大量系统内部的功能来解释...

    shell脚本循环调度程序

    ### shell脚本循环调度程序知识点解析 #### 一、标题:shell脚本循环调度程序 在计算机编程领域,shell脚本是一种使用Unix Shell语言编写的脚本程序,它被广泛应用于自动化任务处理、系统管理等领域。标题“shell...

    Shell脚本学习教程PDF版

    首先,Shell脚本的基础包括变量、条件语句、循环结构和函数。变量是存储数据的地方,可以是文本、数字或者其他类型。在Shell脚本中,变量声明简单,直接赋值即可。条件语句(如if-else)用于根据不同的条件执行不同...

    shell脚本中的几种循环操作(附脚本)

    在Shell脚本编程中,循环结构是不可或缺的一部分,它允许我们重复执行一段代码,直到满足特定条件为止。这里,我们将详细探讨在Shell脚本中常用的几种循环操作。 1. **For循环** For循环用于遍历一个列表或一组值...

    250个shell脚本

    这展示了Shell脚本在安全领域的应用,结合正则表达式和循环结构处理日志数据。 2. Linux系统告警脚本:这个脚本用于发送系统告警邮件,例如在系统发生特定事件时。它演示了如何设置mailx工具发送邮件,以及使用vi...

    Shell脚本之无限循环的两种方法

    ### Shell脚本之无限循环的两种方法 在Shell脚本编程中,循环结构是一种非常重要的控制结构,它允许我们重复执行一系列命令直到满足特定条件为止。无限循环是一种特殊的循环形式,意味着循环会一直持续下去,除非...

    Shell脚本编程100例

    Shell脚本编程是Linux系统管理中的重要技能,它允许用户自动化执行一系列命令,大大提高工作效率。以下是一些关于Shell脚本编程的关键知识点: 1. **Hello World脚本**:这是所有编程语言的基础,用于验证环境设置...

    SHELL脚本练习 写一个脚本,利用循环计算10的阶乘

    在这个练习中,我们将编写一个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区别.docx

    "shell脚本与Makefile区别" shell 脚本和 Makefile 是两个不同的工具,它们都用于自动化构建和编译过程,但是它们有很大的不同之处。本文将详细介绍 shell 脚本和 Makefile 的区别。 首先,shell 脚本和 Makefile ...

    shell脚本大全

    在IT领域,Shell脚本是Linux和Unix操作系统中不可或缺的一部分,它是一种强大的自动化工具,能够帮助用户执行一系列命令,简化日常任务。"shell脚本大全"这个资源可能包含了大量的示例脚本,涵盖了各种用途和场景,...

    如何让Android系统或Android应用执行shell脚本

    在 system/core/init/init.rc 中的 Main 函数中,有一个 for 循环,其中有一个 handle_property_set_fd() 函数,该函数负责检查权限和执行脚本。我们可以在该函数中添加一些代码来让我们的服务启动。例如,我们可以...

    korn-shell脚本入门.docx

    Korn Shell脚本还可以使用for循环来读取文件中的行,并执行相应的操作。在脚本中,可以使用不同的命令,如date命令、hostname命令等,以获取相应的信息。 Korn Shell脚本提供了一个强大且灵活的方式来自动化Unix...

    Linux 命令与Shell 脚本编程pdf书籍

    《Linux命令行与Shell脚本编程大全》是一本专为Linux初学者编写的经典教材,旨在帮助读者深入理解和掌握Linux操作系统中的基本命令行操作以及Shell脚本编程技术。这本书全面覆盖了从基础到进阶的各种主题,对于想要...

    Shell脚本-从入门到精通.ppt

    shell脚本编程基础知识点 shell脚本是Linux操作系统中的一种编程语言,用于自动执行一系列命令。shell脚本文件是一个纯文本文件,可以使用任何文本编辑器编写,通常以.sh作为后缀名。 一、shell脚本的基本结构 ...

    shell脚本培训视频.rar

    2. **Shell随机数与循环嵌套**:在Shell脚本中,可以使用RANDOM变量来生成随机数,这对于模拟、测试或创建随机行为的脚本非常有用。同时,循环嵌套是指在一个循环体内部再包含另一个循环,如for或while循环,这可以...

    LINUX SHELL 脚本攻略

    Shell脚本的基本构成包括:变量、环境变量、命令执行、流程控制(如if语句、for循环、while循环等)、函数定义和使用、输入输出处理等。掌握这些基本元素对于编写有效、高效的Shell脚本至关重要。 1. 变量和环境...

    shell 脚本 实例 shell 脚本 实例

    在IT行业中,Shell脚本是一种极其重要的自动化工具,特别是在Linux和Unix系统中。Shell脚本允许用户通过编写简单的命令序列来执行复杂的任务,极大地提高了工作效率。以下是对"shell 脚本 实例"这一主题的详细说明。...

    shell脚本.pdf

    1. **基础语法**:Shell脚本的基础包括变量定义、条件语句(if-else)、循环结构(for, while)、函数定义等。变量在Shell中用来存储数据,可以通过"$"符号来引用。条件语句和循环结构用于控制程序的流程,根据不同...

    Shell 脚本专家指南

    描述部分反复强调“学习shell脚本的必读之术”,意味着这本书或者文档是关于Shell脚本学习的重要资源,可能覆盖了从基础入门到高级应用的各个方面。对于任何希望提高Linux/Unix环境下工作效率的IT专业人员来说,掌握...

Global site tag (gtag.js) - Google Analytics