if,for,while用法及 练习
2017-12-30 16:14
489 查看
If 条件判断
if COMMANDS; then COMMANDS; 2、[ elif COMMANDS; then COMMANDS; ]... 3、[ else COMMANDS; ] 4、fi
单分支:如果if COMMANDS为真,执行then COMMANDS; 忽略2、3,执行4、fi 结束
双分支:如果 1、if COMMANDS; then COMMANDS;不为真,将执行 2、elifCOMMANDS; then COMMANDS; ]... 可以是多条语句,忽略3,执行4、fi 结束
多分支:如果 1和2 判断条件不为真,执行3、[ else COMMANDS; ] 4、fi 结束
语法格式:
单分支
If 判断条件;then
条件代码
fi
双分支
If 判断条件;then
条件代码
else 判断条件;then
条件代码
fi
多分支
If 判断条件;then
条件代码
elif 判断条件;then
条件代码
elif 判断条件;then
条件代码
elif 判断条件;then
以上条件代码不成立执行
fi
for: for NAME [in WORDS ... ] ; do COMMANDS; done
for 变量名 in 列表;do
循环体
done
依次将列表中的元素赋给”变量名”,每次赋值后即执行一次
循环体;直到列表中的元素耗尽,循环结束。
实例:
#!/bin/bash
sum=0
for i in {1..100};do
sum $[sum+i]
done
echo $sum
while 循环
while COMMANDS; do COMMANDS; done
Whlie 条件;do
循环体
done
进入循环前,先做一次判断;每一次循环之后再次判断;条件
为”ture”,则执行一次循环;直到条件为”false”终止循环
进入条件:true 永远为ture就一直循环
退出条件:false
实例:
死循环:while true;do sleep 1;echo true;done
监控http服务:
Systemctl stop httpd
#!/bin/bash
sleeptime=30
while true;do
if killall -0 httpd &> /dev/null;then
true
else
systemctl restart httpd
time=
echo "At $time httpd is restarted" >> /app/httpd.log
使用while循环当ip访问连接本机三次以上将拒绝访问。
#!/bin/bash
sleeptime=10
while true;do
ss -nt|grep ESTAB|tr -s " " :|cut -d: -f6|sort|uniq -c|while read num ip;do
if [[ "$num" -gt 3 ]];then
iptables -A INPUT -s $ip -j REJECT
fi
done
sleep $sleeptime
done
if COMMANDS; then COMMANDS; 2、[ elif COMMANDS; then COMMANDS; ]... 3、[ else COMMANDS; ] 4、fi
单分支:如果if COMMANDS为真,执行then COMMANDS; 忽略2、3,执行4、fi 结束
双分支:如果 1、if COMMANDS; then COMMANDS;不为真,将执行 2、elifCOMMANDS; then COMMANDS; ]... 可以是多条语句,忽略3,执行4、fi 结束
多分支:如果 1和2 判断条件不为真,执行3、[ else COMMANDS; ] 4、fi 结束
语法格式:
单分支
If 判断条件;then
条件代码
fi
双分支
If 判断条件;then
条件代码
else 判断条件;then
条件代码
fi
多分支
If 判断条件;then
条件代码
elif 判断条件;then
条件代码
elif 判断条件;then
条件代码
elif 判断条件;then
以上条件代码不成立执行
fi
for 循环
for: for NAME [in WORDS ... ] ; do COMMANDS; done
for 变量名 in 列表;do
循环体
done
依次将列表中的元素赋给”变量名”,每次赋值后即执行一次
循环体;直到列表中的元素耗尽,循环结束。
实例:
#!/bin/bash
sum=0
for i in {1..100};do
sum $[sum+i]
done
echo $sum
while 循环
while COMMANDS; do COMMANDS; done
Whlie 条件;do
循环体
done
进入循环前,先做一次判断;每一次循环之后再次判断;条件
为”ture”,则执行一次循环;直到条件为”false”终止循环
进入条件:true 永远为ture就一直循环
退出条件:false
实例:
死循环:while true;do sleep 1;echo true;done
监控http服务:
Systemctl stop httpd
#!/bin/bash
sleeptime=30
while true;do
if killall -0 httpd &> /dev/null;then
true
else
systemctl restart httpd
time=
date +"%F %T"
echo "At $time httpd is restarted" >> /app/httpd.log
使用while循环当ip访问连接本机三次以上将拒绝访问。
#!/bin/bash
sleeptime=10
while true;do
ss -nt|grep ESTAB|tr -s " " :|cut -d: -f6|sort|uniq -c|while read num ip;do
if [[ "$num" -gt 3 ]];then
iptables -A INPUT -s $ip -j REJECT
fi
done
sleep $sleeptime
done
相关文章推荐
- expect语法基础: while、for 循环、if 语句的用法示例
- expect语法基础: while、for 循环、if 语句的用法示例
- if,while,std::cin,std::cout用法练习
- android Monkeyrunner:Python语法知识学习(for,while,if用法实例)
- c语言基础switch、if、while和for基本用法
- python特殊的缩进和if while for的用法
- expect语法基础: while、for 循环、if 语句的用法示例
- if,switch,while,do..while,for语句在JSP中的用法示例
- shell脚本练习一(if语句、case语句、for语句、while语句)
- 【练习】题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句
- python下if/for/while用法
- if/switch/while/do while/for/等循环及判断的简要用法案例
- Shell语句 for、while、case、if、输出重定向、grep查询用法
- scala学习-if,while,for,try用法7
- 求 1+2+...+n, 要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句 (A?B:C)。
- 求1+2+…+n.要求不能使用乘除法、for、while、if、else、switch、case等关键字
- if-elif条件判断,while循环和for…in循环
- linux shell awk 流程控制语句(if,for,while,do)详细介绍
- Swift控制语句(if,switch,forin,for,while,dowhile)
- if与switch;for和while知识点