gpt4 book ai didi

bash - 绑定(bind)到 bash 中的随机空闲端口(与端口 0 一样)

转载 作者:行者123 更新时间:2023-12-04 18:55:59 26 4
gpt4 key购买 nike

仅在 Bash 中,如何通过绑定(bind)到端口 0 来检索两个保证可用的开放端口号,就像在其他语言(Perl 或 Python)中所做的那样?我的操作系统是 Ubuntu 16.04 LTS。

我看过 perl 和 python 的例子,但如果不使用单独的语言,就没有任何效果。

我的最终目标是替换以下不可靠的脚本,因此我可以将结果分配给变量并稍后在我的脚本中使用它们

count=0;
for i in {11212..12655}
do
netstat -ntpl | grep [0-9]:${1:-$i} -q ;
if [ $? -eq 1 ]; then
aLen=${#PORTS[@]};
#echo $i:$?
if [ $aLen -lt 2 ]; then
PORTS[$count]=$i;
((count++));
else
break;
fi;
fi;
done
PORTs1="${PORTS[0]}";
PORTs2="${PORTS[1]}";

最佳答案

最终使用 Python 来获得我需要的东西。

PORT1=$(python -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()');
PORT2=$(python -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()');

关于bash - 绑定(bind)到 bash 中的随机空闲端口(与端口 0 一样),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41837147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com