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

 更新时间:2015年05月08日 09:08:30   投稿:junjie  
这篇文章主要介绍了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 in `ls *.sh`
do
          name=`echo "$shname" | awk -F. '{print $1}'`          
          echo $name
done

4.查找循环(ls数据量太大的时候也可以用这种方法)
复制代码 代码如下:

for shname in `find . -type f -name "*.sh"`
do
          name=`echo "$shname" | awk -F/ '{print $2}'`         
          echo $name
done

5.((语法循环--有点像C语法,但记得双括号
复制代码 代码如下:

for((i=1;i<100;i++))
do
    if((i%3==0))
    then
        echo $i
        continue
    fi
done

6.seq形式 起始从1开始
复制代码 代码如下:

for i in `seq 100`
do
    if((i%3==0))
    then
        echo $i
        continue
    fi
done

二、while循环

1.while循环注意为方括号[],且注意空格

复制代码 代码如下:

min=1
max=100
while [ $min -le $max ]
do
    echo $min
    min=`expr $min + 1`
done 

2.双括号形式,内部结构有点像C的语法,注意赋值:i=$(($i+1))
复制代码 代码如下:

i=1
while(($i<100))
do
    if(($i%4==0))
    then
        echo $i
    fi
    i=$(($i+1))
done

3.从配置文件读取,并可以控制进程数量
复制代码 代码如下:

MAX_RUN_NUM=8
cat cfg/res_card_partition.cfg |grep -v '^$'|grep -v "#" | grep -v grep |while read partition
do       
                nohup sh inv_res_card_process.sh $partition >log/resCard$partition.log 2>&1 &              
                while [ 1 -eq 1 ]
                do
                                psNum=`ps -ef | grep "inv_res_card_process" | grep -v "grep" | wc -l`
                                if [ $psNum -ge $MAX_RUN_NUM ]
                                then
                                              sleep 5
                                else
                                              break
                                 fi                                       
                done               
done

三.循环控制语句
复制代码 代码如下:

# break 命令不执行当前循环体内break下面的语句从当前循环退出.
# continue 命令是程序在本循体内忽略下面的语句,从循环头开始执行

相关文章

  • Shell脚本中实现更新PHP5

    Shell脚本中实现更新PHP5

    这篇文章主要介绍了Shell脚本中实现更新PHP5,本文直接给出实现代码,需要的朋友可以参考下
    2015-04-04
  • Shell实现日期的获取、设置和延时操作

    Shell实现日期的获取、设置和延时操作

    本文主要介绍了Shell实现日期的获取、设置和延时操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 详解Linux命令中的符号

    详解Linux命令中的符号

    这篇文章主要介绍了Linux命令中的符号,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-11-11
  • Linux Shell简介

    Linux Shell简介

    本文编译整理时对相关章节做了相应的删改处理,去掉了针对Mandrake Linux的部分内容
    2013-06-06
  • 数据结构 二叉树的递归与非递归

    数据结构 二叉树的递归与非递归

    这篇文章主要介绍了数据结构 二叉树的递归与非递归的相关资料,需要的朋友可以参考下
    2017-05-05
  • Shell脚本test命令使用总结和实例

    Shell脚本test命令使用总结和实例

    这篇文章主要介绍了Shell脚本test命令使用总结和实例,分别对数字测试、字符串测试、文件测试做了总结,并给出了实际使用例子,需要的朋友可以参考下
    2014-07-07
  • Linux运维常用命令

    Linux运维常用命令

    这篇文章主要介绍了Linux在日常运维过程中需要经常用到的命令,非常的全面,有需要的小伙伴可以参考下
    2016-12-12
  • shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)

    shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)

    下面是我在做优化时候,经常用到的一段shell 脚本。 这个也可以算是,统计web页面的slowpage 慢访问页面,象mysql slowquery
    2013-11-11
  • Linux下 rpm 命令查询方法

    Linux下 rpm 命令查询方法

    本文给大家介绍Linux下 rpm 命令查询方法,非常不错具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-11-11
  • shell脚本连接、读写、操作mysql数据库实例

    shell脚本连接、读写、操作mysql数据库实例

    这篇文章主要介绍了shell脚本连接、读写、操作mysql数据库实例,本文包含连接、读取、插入、创建数据库等操作示例,需要的朋友可以参考下
    2014-08-08

最新评论