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

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