1. 程式人生 > 其它 >Linux下Shell的for迴圈語句

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(以上內容轉自此篇文章)