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

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

1、问题背景

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

2、bash 定义数组

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

bash 复制代码
portArray=(22 80 443 3306 6379 8080)

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

bash 复制代码
for port in ${portArray[@]}
do
echo ${port}
done

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

建立脚本

bash 复制代码
vi /root/portStatus

插入以下内容

bash 复制代码
#!/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

执行脚本

相关推荐
郑州光合科技余经理9 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1239 天前
matlab画图工具
开发语言·matlab
dustcell.9 天前
haproxy七层代理
java·开发语言·前端
norlan_jame9 天前
C-PHY与D-PHY差异
c语言·开发语言
多恩Stone9 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ4022054969 天前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
遥遥江上月9 天前
Node.js + Stagehand + Python 部署
开发语言·python·node.js
m0_531237179 天前
C语言-数组练习进阶
c语言·开发语言·算法
Railshiqian9 天前
给android源码下的模拟器添加两个后排屏的修改
android·开发语言·javascript
雪人不是菜鸡9 天前
简单工厂模式
开发语言·算法·c#