版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
for循环: for arg in Range;do CMD;done
循环常见场景:
##1、有限数字(用空格隔开) for i in 1 2 3 4 5;do echo $i ;done ##2、序列数据(seq 开始 步长 最后) ---步长默认1 for i in $(seq 1 3 100); do echo $i ;done ##3、命令结果(默认空格为分隔符) for i in `cat 01.txt`;do echo $i ;done for i in `ls | grep "heh"` ;do echo $i ;done ##4、语法循环(类似C,注意为双括号,分号隔开) for ((i=1;i<3;i+=2));do echo i ;done for ((;;);do echo"无限循环";done
第一类:数字性循环
for1-1.sh
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
</td>
<td>
<p><code>#!/bin/bash </code></p>
<p><code> </code> </p>
<p><code>for((i=1;i<=10;i++)); </code></p>
<p><code>do </code></p>
<p><code>echo $(expr $i \* 3 + 1); </code></p>
<p><code>done</code></p>
</td>
</tr></tbody></table></div><p><strong>for1-2.sh</strong></p>
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
</td>
<td>
<p><code>#!/bin/bash </code></p>
<p><code> </code> </p>
<p><code>for i in $(seq 1 10) </code></p>
<p><code>do </code></p>
<p><code>echo $(expr $i \* 3 + 1); </code></p>
<p><code>done</code></p>
</td>
</tr></tbody></table></div><p><strong>for1-3.sh</strong></p>
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
</td>
<td>
<p><code>#!/bin/bash </code></p>
<p><code> </code> </p>
<p><code>for i in {1..10} </code></p>
<p><code>do </code></p>
<p><code>echo $(expr $i \* 3 + 1); </code></p>
<p><code>done</code></p>
</td>
</tr></tbody></table></div><p><strong>for1-4.sh</strong></p>
1
<p>2</p>
<p>3</p>
</td>
<td>
<p><code>#!/bin/bash </code></p>
<p><code> </code> </p>
<p><code>awk 'BEGIN{for(i=1; i<=10; i++) print i}'</code></p>
</td>
</tr></tbody></table></div><p><strong>第二类:字符性循环</strong></p>
for2-1.sh
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
</td>
<td>
<p><code>#!/bin/bash </code></p>
<p><code> </code> </p>
<p><code>for i in `ls`; </code></p>
<p><code>do </code></p>
<p><code>echo $i is file name\! ; </code></p>
<p><code>done</code></p>
</td>
</tr></tbody></table></div><p><strong>for2-2.sh</strong></p>
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
</td>
<td>
<p><code>#!/bin/bash </code></p>
<p><code> </code> </p>
<p><code>for i in $* ; </code></p>
<p><code>do </code></p>
<p><code>echo $i is input chart\! ; </code></p>
<p><code>done</code></p>
</td>
</tr></tbody></table></div><p><strong>for2-3.sh</strong></p>
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
</td>
<td>
<p><code>#!/bin/bash </code></p>
<p><code> </code> </p>
<p><code>for i in f1 f2 f3 ; </code></p>
<p><code>do </code></p>
<p><code>echo $i is appoint ; </code></p>
<p><code>done</code></p>
</td>
</tr></tbody></table></div><p><strong>for2-4.sh</strong></p>
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
</td>
<td>
<p><code>#!/bin/bash </code></p>
<p><code> </code> </p>
<p><code>list="rootfs usr data data2" </code></p>
<p><code>for i in $list; </code></p>
<p><code>do </code></p>
<p><code>echo $i is appoint ; </code></p>
<p><code>done</code></p>
</td>
</tr></tbody></table></div><p><strong>第三类:路径查找</strong></p>
for3-1.sh
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
</td>
<td>
<p><code>#!/bin/bash </code></p>
<p><code> </code> </p>
<p><code>for file in /proc/*; </code></p>
<p><code>do </code></p>
<p><code>echo $file is file path \! ; </code></p>
<p><code>done</code></p>
</td>
</tr></tbody></table></div><p><strong>for3-2.sh</strong></p>
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
</td>
<td>
<p><code>#!/bin/bash </code></p>
<p><code> </code> </p>
<p><code>for file in $(ls *.sh) </code></p>
<p><code>do </code></p>
<p><code>echo $file is file path \! ; </code></p>
<p><code>done</code></p>
</td>
</tr></tbody></table></div> </div>
</div>