微信公众号:「小林coding」

用简洁的方式,分享编程小知识。

Linux shell脚本判断网络畅通

介绍

在编写shell脚本时,有的功能需要确保服务器网络是可以上网才可以往下执行,那么此时就需要有个函数来判断服务器网络状态

我们可以通过curl来访问 www.baidu.com,从而判断服务器网络状态是否可以畅通的

网络状态判断

#!/bin/bash

#检测网络链接畅通
function network()
{
#超时时间
local timeout=1 #目标网站
local target=www.baidu.com #获取响应状态码
local ret_code=`curl -I -s --connect-timeout ${timeout} ${target} -w %{http_code} | tail -n1` if [ "x$ret_code" = "x200" ]; then
#网络畅通
return 1
else
#网络不畅通
return 0
fi return 0
} network
if [ $? -eq 0 ];then
echo "网络不畅通,请检查网络设置!"
exit -1
fi echo "网络畅通,你可以上网冲浪!" exit 0

网络状态正常的脚本执行结果:

网络畅通,你可以上网冲浪!

网络状态不正常的脚本执行结果:

网络不畅通,请检查网络设置!


最新文章

  1. bootstrap之伪元素
  2. Windows Phone 8.1上的开发人员请看
  3. IOS UIScrollView + UIButton 实现segemet页面和顶部标签页水平滚动效果
  4. mac os x使用Git简易入门教程
  5. Android 使用PullToRefresh实现下拉刷新和上拉加载(ExpandableListView)
  6. UIButton属性
  7. HTTP状态码对照表 HTTP response codes
  8. __FILE__,__LINE__,FUNCTION__
  9. 没有开发者账号,如何解锁wp8设备
  10. MAC软件下载链接地址
  11. DOM中元素对象的属性方法
  12. [翻译] Tensorflow中name scope和variable scope的区别是什么
  13. mac openresty 源码安装 坑
  14. Shell的类型
  15. SSE图像算法优化系列七:基于SSE实现的极速的矩形核腐蚀和膨胀(最大值和最小值)算法。
  16. struts2框架学习笔记2:配置详解
  17. Linux内核中_IO,_IOR,_IOW,_IOWR宏的用法与解析【转】
  18. go语言之进阶篇通过range遍历channel内容
  19. import 本质
  20. iOS universallinks唤醒app

热门文章

  1. vue.js 中组件的使用
  2. MyBatis Generator Example.Criteria 查询条件复制
  3. web设计_8_数据表格内容样式分离
  4. 从后端到前端之Vue(五)小试路由
  5. 通过mark和reset方法重复利用InputStream
  6. 【iOS】iOS main() 简介
  7. DesignPattern系列__02接口隔离原则
  8. 【故障公告】发布 .NET Core 版博客站点引起大量 500 错误
  9. 当下最流行的微服务与spring cloud,你搞清楚了吗?
  10. c#图片的平移与旋转