in 和后面的数据集之间有空格
continue 结束本次循环,进行下一次循环
break 结束 for
continue (continue 1)结束本次循环,进入下次循环,此循环体内,continue以下的代码不会被执行
continue 2 双层循环,跳出(结束)本次循环,结束上一层的本次循环,进入上一层的下一次循环
break (break 1) 跳出本次循环,
break 2 跳出(结束)循环体及上层循环体
1.格式1
for ((i=0;i<=5;i++));do
echo $i
done
输出1,2,3,4,5 每行一个
i<=5,5也可能是个一个变量 $n
2.格式2
for i in {1,2,3,4,5};do
echo $i
done
输出1,2,3,4,5 每行一个
i为变量,可以起任何名字如 j,abc
1.C式写法
for((i=1;i<=5;i++));do
echo $i
done
2.遍历1到一个大于1的范围
for i in $(seq 5);do
echo $i
done
3. 遍历一个目录内的文件
for i in `ls`;do
echo $i
done
4.遍历数组
arr=(a b c d) #声明一个数组包含4个元素 a b c d
for i in ${arr[@]};do
echo $i
done
5.遍历参数
cat > /tmp/a.sh<<\EOF
#!/bin/sh
for i in $*;do
echo $i
done
EOF
sh /tmp/a.sh a b c
6.遍历文件
for File in /proc/sys/net/ipv4/conf/*/accept_redirects;do
echo $File
done
7.遍历给定字符串
for i in f1 f2 f3 ;do
echo $i
done
如有特殊字符或是关键字,把每一项用引号括起来
"f1" "f2" "f3"
8.遍历文件
for i in *.txt;do
echo $i
done
9.遍历文件
for i in $(ls *.txt);do
echo $i
done
for in语句与` `和$( )合用,利用` `或$( )的将多行合为一行的缺陷,实际是合为一个字符串数组
10.LIST="rootfs usr data data2"
for d in $LIST; do
echo $d
done
用for in语句自动对字符串按空格遍历的特性,对多个目录遍历
11.
for i in {1..10};do
echo $i
done
12.
for i in stringchar {1..10};do
echo $i
done
13.
awk 'BEGIN{for(i=1; i<=10; i++) print i}'
##为数组
for I in $(seq 1 5); do sum=$[ I + sum ]; done
#一句
for i in {1..10};do echo $i;done
##
IFSold=$IFS
IFS="\n"
IFS=$IFSold
#####################continue
for i in {1,2,3,4,5};do
if [ $i = "2" ];then
continue
fi
echo $i
done
1
3
4
5
################### break
for i in {1,2,3,4,5};do
if [ $i = "3" ];then
break
fi
echo $i
done
1
2
阅读(909) | 评论(0) | 转发(0) |