shell 中 while循环的应用

回复 收藏
  1. #! /bin/sh
  2. #打印10以内的加法表
  3. i=1
  4. while [ $i -le 9 ]
  5.     do
  6.        row=1
  7.        colume=$i
  8.        while [ $row -le $i ]
  9.           do
  10.             if((i==9))
  11.              then
  12.                echo -n "$row+$colume=$((row+colume)) "
  13.             else
  14.                echo -n "$row+$colume=$((row+colume)) "
  15.             fi
  16.             row=$(expr $row + 1)
  17.             colume=$(expr $colume - 1)
  18.           done
  19.        echo
  20.        ((i=$i+1))
  21. done
2010-12-24 13:38 举报
已邀请:
0

阿铭 管理员

赞同来自:

下面这个脚本是判断一个输入的IP是否正确,正确则得到$webip ,错误则一直提示我们输入,一直到得到正确的IP为止。
  1. #! /bin/bash


  2. checkip() {
  3.         if echo $1 |egrep -q '^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$' ; then
  4.                 a=`echo $1 | awk -F. '{print $1}'`
  5.                 b=`echo $1 | awk -F. '{print $2}'`
  6.                 c=`echo $1 | awk -F. '{print $3}'`
  7.                 d=`echo $1 | awk -F. '{print $4}'`

  8.                 for n in $a $b $c $d; do
  9.                         if [ $n -ge 255 ] || [ $n -le 0 ]; then
  10.                                 echo "the number of the IP should less than 255 and greate than 0"
  11.                                 return 2
  12.                         fi
  13.                 done
  14.         else
  15.                 echo "The IP you input is something wrong, the format is like 192.168.100.1"
  16.                 return 1
  17.         fi
  18. }

  19. rs=1
  20. while [ $rs -gt 0 ]; do

  21. echo -n "Please input the webip(请输入web的IP):"
  22. read webip
  23. checkip $webip
  24. rs=`echo $?`

  25. done
0

陈洪良

赞同来自:

+1

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: