shell 中循环总结

循环命令用于将一个命令或一组命令执行指定的次数,或者一直执行直到满足某个条件为止。在Bash shell中常用的循环语句有,for循环,while循环,until循环


一、For循环语句

   1、For循环的语法

       for  var  in  list

        do    

             commands      

        done

    2、For循环举例

    1)、输入一个文件,判断文件是directory还是file

#! /bin/sh
for file in $1
    do
        if [ -d "$file" ]
        then 
                echo "$file is a directory" 
        elif [ -f "$file" ]
        then 
            echo "$file is a file"
        fi
    done

     2)如果判断一个文件目录下的文件数

 count = 0
      for File in /temp/*;
      do
                file $File
                count =$[$count+1]
      done
      echo "Total files :$count"

二、While循环语句

    while命令允许定义要测试的命令,然后只要定义的测试命令返回0状态值,则执行while循环中的语句,否则直接退出

   1、while循环的语法

       while test command

        do

            oter command

        done

    

 3)、while循环举例

     计算100以内整数的和    

      
Sum =0
Count =1
while [$Count -le 100 ];do
        let Sum+=$Count
        let Count++
done
echo $Sum

三、Until循环语句

   Until命令允许定义要测试的命令,然后只要定义的测试命令返回非0状态值,则执行unitl循环中的语句,否则直接退出(unitl和while刚好相反)

   1)、Until循环语句的语法


       until test command

        do

            oter command

        done

   

2)Until循环举例

    计算100以内整数的和

Sum =0
Count =1
util [$Count -gt 100 ]; do
        let Sum+=$Count
        let Count++
done
echo $Sum

每隔5秒查看hadoop用户是否登录,如果登录,显示其登录并退出;否则,显示当前时间,并说明hadoop尚未登录:
who | grep "^TOM" &> /dev/null
RetVal = $?
util [$Retval -eq 0 ]; do
        date
        sleep 5
        who | grep "^TOM" &> /dev/null
        RetVal=$?
done
echo TOM is here"

  




你可能感兴趣的:(linux,shell)