for循环
shell脚本中for循环可以自动化处理一些事物,在本博客中,作者将会结合几个示例讲解for循环的使用方法
for循环标准结构
for 语句
do
执行语句
done
示例
- 利用for循环实现1-15数字累加
#!/bin/bash
j=0
for i in `seq 1 15`
do
j=`expr $i + $j`
done
echo $j
其中代码中for i in `seq 1 15` 中需要注意添加
··也就是键盘上面的波浪号键。其作用为代表引号内部为shell命令。
e
x
p
r
expr
expr表示两个数相加
- 查找指定目录下所有的log文件,并压缩成文件包
#!/bin/bash
for i in `find . -maxdepth 1 -name "*.log"`
do
echo "i is $i"
tar -czvf $i.tgz $i
done
echo "dones"
其中for i in find . -maxdepth 1 -name "*.log"
表示在当前目录下寻找所有以.log结尾的文件; tar -czvf $i.tgz $i表示对当前文件压缩,所以就实现了对当前目录下所有以log结尾文件顺序压缩,其中代码执行结果如图