for循环

作者: 蓝山_d851 | 来源:发表于2020-12-05 16:57 被阅读0次

定式的循环,已知要进行几次循环。

  • 语法格式
for  i  in con1  con2 con3 ...
do
        程序段
done
  1. 第一次循环,变量$i 内容为con1
  2. 第二次循环,变量$i 内容为con2
  3. 第三次循环,变量$i 内容为con3
  • 例子1
    捉出用的名后并使用id命令检查出用户的标识符和特殊参数
uu=`cut  -d  ":" -f1  /etc/passwd`
for  i  in  $uu
do
    id $uu
done
#执行结果
[root@k8s-node2 ~]# ./idrom.sh 
uid=0(root) gid=0(root) 组=0(root)
uid=1(bin) gid=1(bin) 组=1(bin)
uid=2(daemon) gid=2(daemon) 组=2(daemon)
uid=3(adm) gid=4(adm) 组=4(adm)
uid=4(lp) gid=7(lp) 组=7(lp)
uid=5(sync) gid=0(root) 组=0(root)
uid=6(shutdown) gid=0(root) 组=0(root)
uid=7(halt) gid=0(root) 组=0(root)
uid=8(mail) gid=12(mail) 组=12(mail)
uid=11(operator) gid=0(root) 组=0(root)
uid=12(games) gid=100(users) 组=100(users)
uid=14(ftp) gid=50(ftp) 组=50(ftp)
  • 例2
    使用ping命令 来获取本192.168.1.0/24 网段内的机器是否能够联通
#!/bin/bash
network="192.168.1"
for i in  `seq  254` 
do
    ping -c 1  -w 1   $network.$i  &> /dev/null && result=0 || result=1
    if [ "$result" == 0 ];then
        echo  "server $network.$i is UP"
    else
        echo  "server $network.$i is DOWN"
    fi
done
  • for 的另一种格式写法
#!/bin/bash
read -p  "请输入数值" nu
s=0
for (( i=1 ; i<=$nu; i=i+1))
do
      s=$(($s+$i))
done
echo  "the  result of '1+2+3+4...+$nu' ===> $s" 
#####
[root@k8s-node2 ~]# ./szdd.sh 
请输入数值100
the  result of '1+2+3+4...+100' ===> 5050

学习笔记

相关文章

网友评论

      本文标题:for循环

      本文链接:https://www.haomeiwen.com/subject/ayygwktx.html