语法结构
for((i=1;i<=10;i++))
do
条件
done
——————-
for i in 这种结构在shell中的所有循环语句中是最常用也是最实用的。
大多数结构,把1234分次赋值给 i,因为shell主要不是用来做复杂数学运算的,不用考虑1000次这样的问题。
for i in 1 2 3 4
do
条件
done
从1加到100的和
#!/bin/bash
s=0
for (( i=1;i<100;i++))
do
s=$(( $s+$i ))
done
echo $s
~
解压缩一个文件夹下的所有压缩包
#!/bin/bash
cd /root/tar
#将压缩包名输入进tar文本文件中
ls *.tar.gz>tar.log
ls *.tgz>>tar.log&>/dev/null
#统计文件中的行数,也就是压缩包的个数,用来传递接下来的循环次数
aa=$(cat tar.log|wc -l)
for(( i=1;i<="$aa";i++ ))
do
#NR 当前awk所处理的行,是总数据的第几行
bb=$(cat tar.log |awk 'NR=='$i' {print $1}')