shell循环结构之for循环

文章目录

  • 一、for循环语法
  • 二 、例子

一、for循环语法

1、for((i=1;i<=5;i++));do echo $i;done
2、for i in {1..10..2};do echo $i;done    #打印1到10步长为2
3、for i in `seq 1 2 10`;do echo $i;done  #打印1到10步长为2
4、for i in 1 2 3;do echo $i;done

二 、例子

1、100以内奇数之和
#!/bin/bash
sum=0
for((i=1;i<=100;i+=2))
do
sum=$[$sum+$i]
done
echo $sum

2、判断质数
#!/bin/bash
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下
#!/bin/bash
[ -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目录下的不同文件
#!/bin/bash
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

你可能感兴趣的:(Linux,服务器,linux,运维)