Shell中的while循环【转】

转自:http://blog.chinaunix.net/uid-25880122-id-2901409.html

while循环的格式

 

  1. while expression
  2. do
  3. command
  4. command
  5. ```
  6. done

1、计数器控制的while循环

   主要用于已经准确知道要输入的数据和字符串的数目。

   举例

  1. 1 #!/bin/sh
  2. 2 int=1
  3. 3 while(( $int<=5 ))
  4. 4 do
  5. 5 echo $int
  6. 6 let "int++"
  7. 7 done

2、结束标记控制的while循环

      主要用于不知道读入数据的个数,但是可以设置一个特殊的数据值来结束循环,该特殊值称为结束标    记,通过提示用户输入进行操作。

举例

  1. 1 #用脚本演示使用结束标记控制while循环实现猜1~10内的数
  2. 2 #!/bin/sh
  3. 3
  4. 4 echo "Please input the num (1~~10): "
  5. 5 read num
  6. 6 while [[ $num != 4 ]]
  7. 7 do
  8. 8 if [ $num -lt 4 ]
  9. 9 then
  10. 10 echo "Too small ,Try again.."
  11. 11 read num
  12. 12 elif [ $num -gt 4 ]
  13. 13 then
  14. 14 echo "Too big ,Try again.. "
  15. 15 read num
  16. 16 else
  17. 17 exit 0
  18. 18 fi
  19. 19 done
  20. 20 echo "Yes ,you are right !!"

3、标致控制的while循环

   用户输入标志值来控制循环结束

 举例

 

  1. 1 #!/bin/sh
  2. 2 echo "Please input the num:"
  3. 3 read num
  4. 4 sum=0
  5. 5 i=1
  6. 6 signal=0
  7. 7 while [[ $signal != 1 ]]
  8. 8 do
  9. 9 if [ $i -eq $num ]
  10. 10 then
  11. 11 let "signal=1"
  12. 12 let "sum+=i"
  13. 13 echo "1+2、、、+$num=$sum"
  14. 14 else
  15. 15 let "sum=sum+i"
  16. 16 let "i++"
  17. 17 fi
  18. 18 done

4、命令行控制的while循环

  举例

  1. 1 #!/bin/sh
  2. 2
  3. 3 echo "Please input arguements is $# "
  4. 4 echo "What you input : "
  5. 5 while [[ $* != "" ]]
  6. 6 do
  7. 7 echo $1
  8. 8 shift
  9. 9 done

 

时间: 2024-10-14 21:40:10

Shell中的while循环【转】的相关文章

Shell中的for循环总结

  这篇文章主要介绍了Shell中的for循环总结,本文讲解了shell中for循环用法.shell下for循环的几种方法等内容,需要的朋友可以参考下 关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿... 代码如下: for((i=1;i<=10;i++));do echo $(expr $i * 4);done 在shell中常用的是 for i in $(seq 10) 代码如下: for i in `

Shell中的for循环总结_linux shell

关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿... 复制代码 代码如下: for((i=1;i<=10;i++));do echo $(expr $i \* 4);done 在shell中常用的是 for i in $(seq 10) 复制代码 代码如下: for i in `ls` for i in ${arr[@]} for i in $* ; do for File in /proc/sys/net

Shell中的for和while循环详细总结

  这篇文章主要介绍了Shell中的for和while循环详细总结,本文讲解了for循环的数字段形式.详细列出.对文件进行循环,while循环的三种使用场合等内容,需要的朋友可以参考下 一.for循环 1.数字段形式 代码如下: for i in {1..10} do echo $i done 2.详细列出(字符且项数不多)     代码如下: for File in 1 2 3 4 5 do echo $File done 3.对存在的文件进行循环 复制代码 代码如下: for shname

linux下shell中for循环实现读取文件换行

一.问题与需求: 比如有一个aa.list文件内容是: 1    2    3    4    a    b    c    d for脚本读取文件时,我想是一行一行的读入,每次循环读取一行,像第一次是1 2 3 4,第二次是a b c d 但是我这样写 for i in "$(< ./aa.list)" do     echo $i     echo 1111 done 得到结果是:  1 11111 2 11111 3 11111 4 11111 a 11111 b 1111

Linux shell编程 4 ---- shell中的循环

 1 for循环     1 for语句的结构        for variable in values;        do                  statement        done     2 for循环通常是用来处理一组值,这组值可以是任意的字符串的集合     3 for循环举例                                2 while循环     1 while循环的结构        while condition;         do  

Shell中的循环语句for、while、until实例讲解_linux shell

在编程语言中,循环语句是最基本的语法之一,在Shell(这里是Bash)中也不例外,再把以前自己写过的相关内容整理一下吧. 这里包括for/while/until循环,以及变量自增的语法实例. Shell(以Bash为例)中的循环语句一般有for.while.until这几种,偶尔还有写错语法的时候,这里结合实例来自己总结一下.也为今后使用提供一个快捷的资料获取渠道. 一.for循环语句 实例1.1 最基本的for循环: (传统的形式,for var in -) 复制代码 代码如下: #!/bi

Linux集群和自动化维2.3 Shell中的控制流结构

2.3 Shell中的控制流结构 Shell中的控制流结构也比较清晰,如下所示: if ...then... else...fi语句 case语句 for循环 until循环 while循环 break控制 continue控制 工作中用得最多的就是if语句.for循环.while循环及case语句,大家可以以这几个为重点对象来学习. if语句语法如下: if 条件1 then   命令1 else   命令2 fi if语句的进阶用法: if 条件1 then     命令1       el

linux shell中的比较符号与特殊符号介绍_linux shell

shell字符串比较.判断是否为数字 二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别. 整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b" ] -gt 大于,如:if [ "$a" -gt "$b" ] -ge 大于等于,如:if [ "$a" -ge "$b"

shell中的各种括号的使用方法_linux shell

在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下: 1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},${var:=string},${var:?string} 5.$((exp)) 6.$(var%pattern),$(var%%pattern),$(var#pattern),$(var##pattern) 现在分述如下: 1.Shell中变量的原形:${var}大家常见的变量形式都是$var