你可以编写一个简单的 Bash 脚本来检查多个端口是否被占用。以下是一个示例脚本,它接受用户输入的多个端口号,并检查这些端口是否被占用。
脚本内容
#!/bin/bash
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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务