shell腳本獲取未被佔用的端口

#!/bin/bash
–# @Desc 此腳本用於獲取一個指定區間且未被佔用的隨機端口號
-# @Author Hellxz [email protected]

PORT=0
#判斷當前端口是否被佔用,沒被佔用返回0,反之1
function Listening {
TCPListeningnum=netstat -an | grep ":$1 " | awk '$1 == "tcp" && $NF == "LISTEN" {print $0}' | wc -l
UDPListeningnum=netstat -an | grep ":$1 " | awk '$1 == "udp" && $NF == "0.0.0.0:*" {print $0}' | wc -l
(( Listeningnum = TCPListeningnum + UDPListeningnum ))
if [ $Listeningnum == 0 ]; then
echo “0”
else
echo “1”
fi
}

#指定區間隨機數
function random_range {
shuf -i $1-$2 -n1
}

#得到隨機端口
function get_random_port {
templ=0
while [ $PORT == 0 ]; do
temp1=random_range $1 $2
if [ Listening $temp1 == 0 ] ; then
PORT=temp1fidoneecho"port=temp1 fi done echo "port=PORT"
}
get_random_port 1 10000; #這裏指定了1~10000區間,從中任取一個未佔用端口號

參考:https://www.cnblogs.com/hellxz/p/11288745.html

發佈了160 篇原創文章 · 獲贊 63 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章