zoukankan      html  css  js  c++  java
  • Linux下Shell的for循环语句

     

      

    根据分表规则快速生成分表SQL: 

    64张分表,分两个库:

    #!/bin/sh
    
    for j in `seq 0 63`
     do
            id=`echo $j % 2|bc`
            echo "ALTER TABLE table_name_$j ADD INDEX idx_userid(UserID);">>table_${id}.sql
    done
    

      

    第一类:数字性循环

    #!/bin/bash  
      
    for((i=1;i<=10;i++));  
    do   
    echo $(expr $i * 3 + 1);  
    done
    

      

    #!/bin/bash  
      
    for i in $(seq 1 10)  
    do   
    echo $(expr $i * 3 + 1);  
    done
    

      

    #!/bin/bash  
      
    for i in {1..10}  
    do  
    echo $(expr $i * 3 + 1);  
    done
    

      

    #!/bin/bash  
      
    awk 'BEGIN{for(i=1; i<=10; i++) print i}' 
    

      

    第二类:字符性循环

    #!/bin/bash  
      
    for i in `ls`;  
    do   
    echo $i is file name! ;  
    done
    

      

    #!/bin/bash  
      
    for i in $* ;  
    do  
    echo $i is input chart! ;  
    done
    

      

    #!/bin/bash  
      
    for i in f1 f2 f3 ;  
    do  
    echo $i is appoint ;  
    done
    

      

    #!/bin/bash  
      
    list="rootfs usr data data2"  
    for i in $list;  
    do  
    echo $i is appoint ;  
    done
    

      

    第三类:路径查找

    #!/bin/bash  
      
    for file in /proc/*;  
    do  
    echo $file is file path ! ;  
    done
    

      

    #!/bin/bash  
      
    for file in $(ls *.sh)  
    do  
    echo $file is file path ! ;  
    done
    

      

    总结:

    现在一般都使用for in结构,for in结构后面可以使用函数来构造范围,比如$()、``这些,里面写一些查找的语法,比如ls test*,那么遍历之后就是输出文件名了。

    参考:

    http://blog.csdn.net/babyfish13/article/details/52981110(以上内容转自此篇文章)

  • 相关阅读:
    ASP.NET教程4
    ASP.NET教程11
    TreeView Demo
    System.Net.Dns.GetHostByAddress(string) 已经过时
    会员注册实例
    ASP.NET教程2
    多表关联与表值函数
    ASP.NET教程6
    BusinessFrameWork
    ASP.NET教程8
  • 原文地址:https://www.cnblogs.com/DBArtist/p/14943392.html
Copyright © 2011-2022 走看看