您好,欢迎来到榕意旅游网。
搜索
您的当前位置:首页linux 脚本输入多个端口,查看端口是否被占用的脚本怎么写

linux 脚本输入多个端口,查看端口是否被占用的脚本怎么写

来源:榕意旅游网

你可以编写一个简单的 Bash 脚本来检查多个端口是否被占用。以下是一个示例脚本,它接受用户输入的多个端口号,并检查这些端口是否被占用。

脚本内容

#!/bin/bash

检查是否以 root 用户运行

if [ “$(id -u)” -ne 0 ]; then
echo “请以 root 用户运行此脚本。” >&2
exit 1
fi

提示用户输入端口号,用空格分隔

read -p "请输入要检查的端口号(用空格分隔): " ports

将输入的字符串分割成数组

IFS=’ ’ read -r -a port_array <<< “$ports”

遍历每个端口并检查是否被占用

for port in "${port_array[@]}"; do
  # 使用 netstat 检查端口是否被占用
  if netstat -tuln | grep -q ":$port "; then
    echo "端口 $port 已被占用。"
  else
    echo "端口 $port 未被占用。"
  fi
done

保存和运行脚本

示例

假设你想要检查端口 80, 443, 和 8080 是否被占用,以下是运行脚本的过程:

$ sudo ./check_ports.sh
请输入要检查的端口号(用空格分隔): 80 443 8080
端口 80 已被占用。
端口 443 已被占用。
端口 8080 未被占用。

解释

grep -q ":$port ":这个命令会检查 netstat 的输出中是否包含指定的端口号。-q 选项使得 grep 不输出任何内容,只返回状态码。

echo 语句:根据 grep 的结果输出端口是否被占用的信息。

通过这个脚本,你可以轻松地检查多个端口是否被占用。希望这对你有所帮助!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务