while语法命令

while循环shell

vwhile CONDITION; do bash

 循环体  网络

 done测试

vCONDITION:循环控制条件;进入循环以前,先作一次判 断;每一次循环以后会再次作判断;条件为“true”,则执行 一次循环;直到条件测试状态为“false”终止循环 v所以:CONDTION通常应该有循环控制变量;而此变量的值 会在循环体不断地被修正 v进入条件:CONDITION为trueui

v退出条件:CONDITION为falsespa

 

 

监控程序 是否在线。上面这图是监控http服务是否 开启。3d

 

Ss -nt 监控网络code

 

监控网络以后查看不良记录,是否提出禁用部分超额ip。里面的num 和ip 都是变量,经过空格隔开。    blog

 

若是不知足这个条件就进入60秒休眠状态,就什么都不操做,等待下一次运行ip

 

这是被禁用的IP。

 

解除被禁用的ip。

 

显示 连接失败的ip。

While 是运行判断正确无限循环。

 

 

 

特殊用法

vwhile循环的特殊用法(遍历文件的每一行):

  while read line; do  

循环体

建立无限循环

 vwhile true; do

 

done < /PATH/FROM/SOMEFILE

v双小括号方法,即((…))格式,也能够用于算术运算

v双小括号方法也能够使bash Shell实现C语言风格的变量操做

 I=10

 ((I++))

计算1到10的和

i=1 sum=0 while ((i<=10));do let sum+=i let ++i done echo $sum

读取文件
经典的用法是搭配重定向输入,读取文件的内容。
打印出使用bash的用户

while read line;do bashuser=`echo $line | awk -F: '{print $1,$NF}' | grep 'bash' | awk '{print $1}'` #jugement Bashuser is null or not and print the user who use bash shell if [ ! -z $bashuser ];then echo "$bashuser" fi done < "/etc/passwd"

经过管道传递给{}(一样适用于其余语句)
经过管道把命令组丢给{}
打印出使用bash的用户

cat /etc/passwd | {
while read line;do #use if statement jugement bash shell user and print it if [ "`echo $line | awk -F: '{print $NF}'`" == "/bin/bash" ];then bashuser=`echo $line | awk -F: '{print $1}'` echo "$bashuser" fi done }
相关文章
相关标签/搜索