一、for循环语法
1、for((i=1;i<=5;i++));do echo $i;done
2、for i in {1..10..2};do echo $i;done
3、for i in `seq 1 2 10`;do echo $i;done
4、for i in 1 2 3;do echo $i;done
二 、例子
1、100以内奇数之和
sum=0
for((i=1;i<=100;i+=2))
do
sum=$[$sum+$i]
done
echo $sum
2、判断质数
read -p "请输入一个正整数:" number
for ((i=2;i<number;i++))
do
if [ $[$number%$i] -eq 0 ];then
echo "该数不是质数"
exit
else
echo "是质数"
exit
fi
done
3、批量添加用户,并且家目录都放在/rhome下
[ -f /rhome ] && mv /rhome /rhome.bak
test ! -f /rhome -a ! -d /rhome && mkdir /rhome
for i in {1..5}
do
useradd -d /rhome/stu$i stu$i
echo 123|passwd --stdin stu$i
done
4、批量ping,将可以通的ip和不能通的ip分别写到tmp目录下的不同文件
ip=192.168.1
for ((i=1;i<=10;i++))
do
{
ping $ip.$i -c1 &>/dev/null
if [ $? -eq 0 ];then
echo "$ip.$i is ok" >> /tmp/ip_up.txt
else
echo "$ip.$i is down" >> /tmp/ip_down.txt
fi
}&
done
wait