Linux下Shell的for迴圈語句
第一類:數字性迴圈
-----------------------------
for1-1.sh
#!/bin/bash for((i=1;i<=10;i++)); do echo $(expr $i \* 3 + 1); done
-----------------------------
for1-2.sh
#!/bin/bash for i in $(seq 1 10) do echo $(expr $i \* 3 + 1); done
-----------------------------
for1-3.sh
#!/bin/bash for i in {1..10} do echo $(expr $i \* 3 + 1); done
-----------------------------
for1-4.sh
#!/bin/bash awk 'BEGIN{for(i=1; i<=10; i++) print i}'
第二類:字元性迴圈
-----------------------------
for2-1.sh
#!/bin/bash for i in `ls`; do echo $i is file name\! ; done
-----------------------------
for2-2.sh
#!/bin/bash for i in $* ; do echo $i is input chart\! ; done
-----------------------------
for2-3.sh
#!/bin/bash for i in f1 f2 f3 ; do echo $i is appoint ; done
-----------------------------
for2-4.sh
#!/bin/bash list="rootfs usr data data2" for i in $list; do echo $i is appoint ; done
第三類:路徑查詢
-----------------------------
for3-1.sh
#!/bin/bash for file in /proc/*; do echo $file is file path \! ; done
-----------------------------
for3-2.sh
#!/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(以上內容轉自此篇文章)
第一類:數字性迴圈
-----------------------------
for1-1.sh
#!/bin/bash for((i=1;i<=10;i++)); do echo $(expr $i \* 3 + 1); done
-----------------------------
for1-2.sh
#!/bin/bash for i in $(seq 1 10) do echo $(expr $i \* 3 + 1); done
-----------------------------
for1-3.sh
#!/bin/bash for i in {1..10} do echo $(expr $i \* 3 + 1); done
-----------------------------
for1-4.sh
#!/bin/bash awk 'BEGIN{for(i=1; i<=10; i++) print i}'
第二類:字元性迴圈
-----------------------------
for2-1.sh
#!/bin/bash for i in `ls`; do echo $i is file name\! ; done
-----------------------------
for2-2.sh
#!/bin/bash for i in $* ; do echo $i is input chart\! ; done
-----------------------------
for2-3.sh
#!/bin/bash for i in f1 f2 f3 ; do echo $i is appoint ; done
-----------------------------
for2-4.sh
#!/bin/bash list="rootfs usr data data2" for i in $list; do echo $i is appoint ; done
第三類:路徑查詢
-----------------------------
for3-1.sh
#!/bin/bash for file in /proc/*; do echo $file is file path \! ; done
-----------------------------
for3-2.sh
#!/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(以上內容轉自此篇文章)