function EPHEMERAL_PORT() { LOW_BOUND=49152 RANGE=16384 while true; do CANDIDATE=$[$LOW_BOUND + ($RANDOM % $RANGE)] (echo "" >/dev/tcp/127.0.0.1/${CANDIDATE}) >/dev/null 2>&1 if [ $? -ne 0 ]; then echo $CANDIDATE break fi done } port=$(EPHEMERAL_PORT) echo $port