Linux下Shell的for循环语句
第一类:数字性循环
#!/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*3+1}'
第二类:字符性循环
#!/bin/bash
for i in `ls`;
do
echo $i is file name\! ;
done
#!/bin/bash
for i in $* ;
do
echo $i is input argument\! ;
done
#!/bin/bash
for i in f1 f2 f3 ;
do
echo $i is an item of a list;
done
#!/bin/bash
list="rootfs usr data data2"
for i in $list;
do
echo $i is an item of a list;
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*,那么遍历之后就是输出文件名了。