首页 > 技术文章 > 6,shell 第六部分

k8s-pod 2020-08-22 14:39 原文

循环:
1, while语句:

       while  条件句

              do

                     指令

       done


strace 跟踪一个进程的系统调用情况

1,while循环的特长是执行守护进程以及我们希望循环不退出持续执行,用于频率小于1分钟循环处理(crond),
其他的while循环几乎都可以被我们即将要讲for循环代替。
2,if语句可以替换case语句,一般在系统启动脚本传入少量固定规则字符串,用case,其他判断多用if.
3,一句话,if,for 语句最常用,其次while(守护进程),case(服务启动脚本)。

[root@node1 ~]# cat a.sh
#! /bin/bash
for n in  1 2
do
  echo -e "\033[31m  $n  \033[0m"
done
[root@node1 ~]# sh -x a.sh
+ for n in 1 2
+ echo -e '\033[31m  1  \033[0m'
  1 
+ for n in 1 2
+ echo -e '\033[31m  2  \033[0m'
  2 
[root@node1 ~]#



#! /bin/bash
for((i=0;i<=5;i++))
do
  if [ $i -eq 3 ];then
    #continue
    #break
     exit
  fi
    echo $i
done
echo "OK"


检查网段在线的IP:
[root@node1 ~]# cat ping.sh 
#! /bin/bash
for i in `seq 254`
do
  ping -c2 10.0.0.$i &>/dev/null 2>&1
  if [ $? -eq 0 ]
    echo "10.0.0.$i up" >> /tmp/up.log
  else
    echo "10.0.0.$i down" >> /tmp/down.log
  fi
done

 

 

推荐阅读