当前位置: 首页 > article >正文

bash编程 数组和for循环的应用

bash编程 数组和for循环的应用

  • 1、问题背景
  • 2、bash 定义数组
  • 3、for循环遍历输出数组所有元素
  • 4、编写bash脚本输出每个端口是否在监听状态

1、问题背景

linux服务器开机后,需要检查一组端口是否在监听,以便判断这些端口对应的服务是否在运行。可以考虑使用数组定义一组端口,使用for循环遍历数组来判断这组端口是否在监听。假设这组端口为:22、80、443、3306、6379、8080

2、bash 定义数组

bash使用一对圆括号定义数组,定义数组时不需要指定数组长度,数组的各个元素之间使用空格分隔。

portArray=(22 80 443 3306 6379 8080)

3、for循环遍历输出数组所有元素

for port in ${portArray[@]}
do
echo ${port}
done

4、编写bash脚本输出每个端口是否在监听状态

建立脚本

vi /root/portStatus

插入以下内容

#!/bin/bash
portArray=(22 80 443 3306 6379 8080)
for port in ${portArray[@]}
do
portCount=$(netstat -antlp|grep -w  ${port}|grep -c -w LISTEN)
if [ ${portCount} -ge 1 ];then
    echo "port ${port} is listening."
else
    echo -e "\nport ${port} is not listening.\n"
fi
done

执行脚本

在这里插入图片描述


http://www.kler.cn/a/148584.html

相关文章:

  • SpringBoot后端解决跨域问题
  • 【LeetCode】【算法】55. 跳跃游戏
  • mysql5.7安装SSL报错解决(2),总结
  • AI生活之我用AI处理Excel表格
  • PHP API如何使用access_token开放接口有效期
  • [项目代码] YOLOv5 铁路工人安全帽安全背心识别 [目标检测]
  • Unity性能优化技巧篇
  • QTextEdit 是 Qt 框架中的一个小部件(Widget),用于显示和编辑多行文本内容
  • ES6模块化导出
  • 使用jmx_exporter监控Kafka
  • Week-T11-优化器对比试验
  • 计算机毕业设计php+bootstrap小区物业管理系统
  • 什么是高级语言、机器语言、汇编语言?什么是编译和解释?
  • 数据结构与算法之贪心: LeetCode 860. 柠檬水找零 (Typescript版)
  • 云服务器哪家便宜?亚马逊AWS等免费云服务器推荐
  • 【Python百宝箱】密码学之美:Python安全性实战手册
  • TMUX设置鼠标滚轮滑动来浏览之前的前面内容--复制文字
  • java: Internal error in the mapping processor: java.lang.NullPointerException
  • 精通Nginx(18)-FastCGI/SCGI/uWSGI支持
  • 人工智能|机器学习——机器学习如何判断模型训练是否充分
  • JMeter+Python 实现异步接口测试
  • C++STL库常用详解与原理
  • Python与ArcGIS系列(十三)UpdateCursor方法
  • 吉他初学者学习网站搭建系列(3)——如何实现吉他在线调音
  • 微信可以添加多少好友?
  • 每日一题:LeetCode-105.从前序遍历与中序遍历构造二叉树