Linux下Shell的for迴圈語句
阿新 • • 發佈:2021-06-28
根據分表規則快速生成分表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(以上內容轉自此篇文章)