diff --git a/free-ports.sh b/free-ports.sh index 517f058..86ede2d 100755 --- a/free-ports.sh +++ b/free-ports.sh @@ -5,20 +5,24 @@ usage() { echo "" echo "Opcje:" echo " -n Wypisz też 4 sąsiednie porty (±1, ±2) z ich statusem" + echo " -l Wypisz wszystkie zajęte porty" echo " -h Pokaż tę pomoc" echo "" echo "Przykłady:" echo " $0 # zakres 1024–65535" echo " $0 3000 9000 # własny zakres" echo " $0 -n # z sąsiadami" + echo " $0 -l # pokaż zajęte porty" echo " $0 -n 3000 9000 # z sąsiadami i własnym zakresem" exit 0 } SHOW_NEIGHBORS=false -while getopts ":nh" opt; do +SHOW_LIST=false +while getopts ":nlh" opt; do case $opt in n) SHOW_NEIGHBORS=true ;; + l) SHOW_LIST=true ;; h) usage ;; \?) echo "❌ Nieznana opcja: -$OPTARG" >&2; exit 1 ;; esac @@ -38,6 +42,13 @@ USED_PORTS=$(ss -tuln 2>/dev/null \ USED_COUNT=$(echo "$USED_PORTS" | grep -c '^[0-9]') echo "📋 Znaleziono $USED_COUNT zajętych portów." +if $SHOW_LIST; then + echo "" + echo "🔴 Zajęte porty:" + echo "$USED_PORTS" | grep '^[0-9]' | xargs printf " %s\n" + echo "" +fi + is_used() { echo "$USED_PORTS" | grep -qx "$1" }