shell编程之For 循环语句
for 循环语句主要用于对某个数据域进行循环读取、对文件进行遍历,通常用于需要循环某个文件或者列表。其语法格式以 for…do 开头,done 结尾。
语法格式如下:
For var in (表达式)
do
语句 1
done
For 循环语句 Shell 脚本编程案例如下:
(1)循环打印 BAT 企业官网:
#!/bin/bash
#By author jfedu.net 2017
for website in www.baidu.com www.taobao.com www.qq.com
do
echo $website
done
(2) 循环打印 1 至 100 数字,seq 表示列出数据范围:
#!/bin/bash
#By author jfedu.net 2017
for i in `seq 1 100`
do
echo “NUM is $i”
done
(3) For 循环求 1-100 的总和:
#!/bin/bash
#By author jfedu.net 2017
#auto sum 1 100
j=0
for ((i=1;i<=100;i++))
do
j=`expr $i + $j`
done
echo $j
(4) 对系统日志文件进行分组打包:
#!/bin/bash
#By author jfedu.net 2017
for i in `find /var/log -name "*.log"`
do
tar -czf 2017_log$i.tgz $i
done
(5) For 循环批量远程主机文件传输:
#!/bin/bash
#auto scp files for client
#By author jfedu.net 2017
for i in `seq 100 200`
do
scp -r /tmp/jfedu.txt root@192.168.1.$i:/data/webapps/www
done
(6) For 循环批量远程主机执行命令:
#!/bin/bash
#auto scp files for client
#By author jfedu.net 2017
for i in `seq 100 200`
do
ssh -l root 192.168.1.$i `ls /tmp`
done
(7) For 循环打印 10 秒等待提示:
for ((j=0;j<=10;j++))
do
echo -ne "\033[32m-\033[0m"
sleep 1
done
echo