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

执行脚本

相关推荐
LDR00610 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术10 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园10 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob10 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享10 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.10 天前
C语言--day30
c语言·开发语言
何以解忧,唯有..10 天前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽10 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下10 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
飞天狗11110 天前
零基础JavaWeb入门——第五课第二小节:九大内置对象 · 第2个:response(响应对象)
java·开发语言