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

编写Shell脚本开放端口

.创建文件并编辑(不存在则自动创建),选择下方对应脚本粘贴即可

vim open_port.sh

脚本一无任何校验(每次仅支持一个端口):

#!/bin/bash
#开放firewall端口
echo -n "请输入开放的TCP端口:";read port
firewall-cmd --zone=public --add-port=$port/tcp --permanent
firewall-cmd --reload
echo "$port已经开放!"open_port=`firewall-cmd --zone=public --list-ports`
echo "所有开放端口:$open_port"

脚本二(增加校验并支持多个端口):

#!/bin/bash
# 开放 firewalld 端口(支持输入验证和批量操作)# 函数:检查端口是否有效
is_valid_port() {local port=$1if [[ $port =~ ^[0-9]+$ ]] && [ $port -ge 1 ] && [ $port -le 65535 ]; thenreturn 0  # 有效端口elsereturn 1  # 无效端口fi
}# 函数:开放单个端口
open_single_port() {local port=$1echo "正在开放端口: $port..."firewall-cmd --zone=public --add-port=$port/tcp --permanentif [ $? -ne 0 ]; thenecho "错误: 无法开放端口 $port!请检查防火墙状态或权限。"exit 1fifirewall-cmd --reload
}# 主逻辑
echo "请输入开放的 TCP 端口(多个端口用逗号分隔,如 8080,8081):"
read ports_input# 分割输入为数组
IFS=',' read -ra port_array <<< "$ports_input"# 遍历每个端口
for port in "${port_array[@]}"; doport=$(echo $port | xargs)  # 去除首尾空格if is_valid_port $port; thenopen_single_port $portecho "端口 $port 已成功开放!"elseecho "警告: 忽略无效端口 $port(有效范围: 1-65535)"fi
done# 显示所有开放端口(格式化输出)
echo -e "\n当前所有开放的 TCP 端口:"
firewall-cmd --zone=public --list-ports | tr ' ' '\n' | sed 's/^/- /'

执行该文件命令:

./open_port.shorsh open_port.sh
http://www.lryc.cn/news/583429.html

相关文章:

  • 函数-3-日期函数
  • 【Linux | 网络】socket编程 - 使用TCP实现服务端向客户端提供简单的服务
  • 记忆管理框架MemOS——在时序推理上较OpenAI提升159%
  • [IMX][UBoot] 13.Linux 内核源码目录分析
  • 脑电分析入门指南:信号处理、特征提取与机器学习
  • 【前端】异步任务风控验证与轮询机制技术方案(通用笔记版)
  • 暑假的挣扎与自我梳理
  • 【计算机三级网络】——IP校园网大题(第二道):路由代码填空
  • 【HarmonyOS6】获取华为用户信息
  • 【Linux】·C++缺陷和思考
  • 【05】MFC入门到精通——MFC 为对话框中的控件添加变量 和 数据交换和检验
  • Laravel 动态生成 PDF:基于 KnpSnappy 实现多公司页眉页脚差异化配置
  • Java零基础笔记08(Java编程核心:面向对象编程高级 {继承、多态})
  • uniapp小程序无感刷新token
  • Docker 高级管理--容器通信技术与数据持久化
  • [论文阅读] 软件工程 | 一篇关于开源许可证管理的深度综述
  • 图像处理中的模板匹配:原理与实现
  • LabVIEW前面板颜色修改
  • 利用编码ai工具cursor写单元测试
  • MCP快速入门—快速构建自己的服务器
  • 如何使用Pytest进行测试?
  • Android-重学kotlin(协程基础)新学习总结
  • MATLAB基于voronoi生成三维圆柱形
  • 2025年人工智能、虚拟现实与交互设计国际学术会议
  • Matlab-Simulink之步长
  • PlantUML 在 IDEA 中文版中的安装与使用指南
  • VR重现红军过雪山:一场穿越时空的精神洗礼​
  • VR/AR在HMI中的创新应用:远程协作与维修的沉浸式体验
  • 【图像处理基石】图像超分辨率有哪些研究进展值得关注?
  • 【SQL】使用UPDATE修改表字段的时候,遇到1054 或者1064的问题怎么办?