while循环

来源:互联网 发布:sal软件下载 编辑:程序博客网 时间:2024/05/22 20:16

while循环

结束标志控制while循环

基本语法:

read variable

while [[ “$variable” != sentinel ]]

do

read variable

done

脚本例子:1-10内的数字

 1 #!/bin/bash

  2 

  3 echo "please input the num(1-10):"

  4 read num

  5 while [[ "$num" != 4 ]] #如果等于4就结束

  6 do

  7     if [ "$num" -lt 4 ]

  8     then

  9         echo "too small,try again"

 10         read num

 11     elif [ "$num" -gt 4 ]

 12     then

 13         echo "too high,try again"

 14         read num

 15     else

 16         exit 0

 17     fi  

 18     done

 19     

 20     echo "you are right"

~                                   

计数器控制的while 循环

基本形式:

counter = 1

while expression

do

command

...

let command to operate counter

command

...

done

脚本例子:显示1-5

1 #!/bin/bash

  2 int=1

  3 while (( "$int" <= 5 ))

  4 do

  5     echo "$int"

  6     let "int++"

  7 done

标志控制while循环

基本语法:

signal=0

while (( signal != 1 ))

do 

...

if expression

then

signal=1

fi

...

done

脚本例子:循环求和(1...n)

 1 #!/bin/bash

  2 echo "please input the num:"

  3 read num

  4 sum=0

  5 i=1 #循环变量1

  6 signal=0 #初始化标志值

  7 while [[ "$signal" != 1 ]]

  8 do

  9     if [ "$i" -eq "$num" ]

 10     then

 11         let "signal = 1"

 12         let "sum += i"

 13         echo "1+2+3+4...+$num=$sum"

 14     else

 15         let "sum = sum+i"

 16         let "i++"

 17     fi

 18 done

 19 

命令控制的while循环

基本形式

while [[ “$*” != “” ]]

do

echo “$1”

shift

done

脚本例子:

 1 #!/bin/bash

  2 #

  3 echo "number of agrument is $#" #输入参数个数

  4 #

  5 echo "what you input:"

  6 while [[ "$*" != "" ]]

  7 do

  8     echo "$1"

  9     shift

 10 done 

#该脚本是把while 和shift 结合起来,shift 命令使位置变量下移一位(即$2代替$1,$3代替$2),并且使$#变量递减,当最后一个参数也显示给用户后,$#就会等于0,同时$*也会等于空.

0 0
原创粉丝点击