分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

循环控制及状态返回值的应用实践(分析apache日志)

发布时间:2023-09-06 01:42责任编辑:顾先生关键词:apache
12.1 break,continue,exit,return的区别和对比


break和continue在条件语句以及循环语句(for,while,if等)中用于控制程序的走向;exit用户终止所有语句并退出当前脚本,除此之外,exit还可以返回上一次程序或命令的执行状态值给当前shell;return类似于exit,只不过return仅用在函数返回值函数执行的状态值。

break n   如果省略n,则表示跳出整个循环,n表示跳出循环的层数

continue n  如果省略n,则表示跳过本次循环,省略本次省略的剩余代码,进入循环的下一次循环,n表示退出第n层继续循环

exit n  推出当前的shell程序,n为上一层程序执行的返回值,n也可以省略,在下一个shell里通过"$?"接收exit的n值

return n 用于函数里作为函数的返回值,以判断函数执行是否正确


12.2  break,continue,exit功能(总结上面的)

在while和for中

break用于退出当前循环语句,以为着循环结束

continue用于退出当前的循环层次,继续下次循环

exit用户直接退出脚本,不在执行shell

开发shell脚本为服务器临时配置多个ip,ip的范围是192.168.116.150-192.168.116.160,但是不创建192.168.116.155

#!/bin/bash#ip:192.168.116.150-192.168.116.160a=150for i in `seq 10`do  if [ $a -eq 155 ]; then    ((a++))    continue  fi  ip=192.168.116."$a"  ifconfig ens33:$i $ip netmask 255.255.255.0 up  ((a++))done

分析apache访问日志,把日志中的每行数据的访问字节数所对应的字段数字相加,计算出总的访问量,给出实现顺序,请用while循环结构实现。

#!/bin/bash#logfile=/var/log/httpd/access_logsum=0exec <  /var/log/httpd/access_logwhile read linedo#  sum=0  b=`echo "$line" | awk '{print $10}'`  a=$?  expr $a + 5 >/dev/null  if [ $? -eq 0 ]; then   sum=$(($sum+$b))  fidoneecho $sum


循环控制及状态返回值的应用实践(分析apache日志)

原文地址:http://blog.51cto.com/11726212/2071631

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved