Add free-ports script, Docker aliases, and Bun env

Add free-ports.sh script and a corresponding alias in .bash_aliases.
Introduce docker-clean and docker-update aliases for Docker maintenance.

Export BUN_INSTALL and prepend its bin directory to PATH in .profile.
This commit is contained in:
2026-06-11 15:22:01 +02:00
parent ee8a4660f8
commit dc44eb6d62
3 changed files with 86 additions and 1 deletions
Executable
+78
View File
@@ -0,0 +1,78 @@
#!/bin/bash
usage() {
echo "Użycie: $0 [OPCJE] [MIN_PORT] [MAX_PORT]"
echo ""
echo "Opcje:"
echo " -n Wypisz też 4 sąsiednie porty (±1, ±2) z ich statusem"
echo " -h Pokaż tę pomoc"
echo ""
echo "Przykłady:"
echo " $0 # zakres 102465535"
echo " $0 3000 9000 # własny zakres"
echo " $0 -n # z sąsiadami"
echo " $0 -n 3000 9000 # z sąsiadami i własnym zakresem"
exit 0
}
SHOW_NEIGHBORS=false
while getopts ":nh" opt; do
case $opt in
n) SHOW_NEIGHBORS=true ;;
h) usage ;;
\?) echo "❌ Nieznana opcja: -$OPTARG" >&2; exit 1 ;;
esac
done
shift $(( OPTIND - 1 ))
MIN_PORT=${1:-1024}
MAX_PORT=${2:-65535}
echo "🔍 Szukam zajętych portów w zakresie $MIN_PORT$MAX_PORT..."
USED_PORTS=$(ss -tuln 2>/dev/null \
| awk 'NR>1 {print $5}' \
| grep -oE '[0-9]+$' \
| sort -un)
USED_COUNT=$(echo "$USED_PORTS" | grep -c '^[0-9]')
echo "📋 Znaleziono $USED_COUNT zajętych portów."
is_used() {
echo "$USED_PORTS" | grep -qx "$1"
}
MAX_ATTEMPTS=1000
ATTEMPT=0
while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do
PORT=$(( RANDOM % (MAX_PORT - MIN_PORT + 1) + MIN_PORT ))
if ! is_used "$PORT"; then
echo ""
echo "✅ Wolny port: $PORT"
if $SHOW_NEIGHBORS; then
echo ""
echo "📊 Sąsiednie porty:"
for OFFSET in -2 -1 1 2; do
NEIGHBOR=$(( PORT + OFFSET ))
if [ $NEIGHBOR -lt 1 ] || [ $NEIGHBOR -gt 65535 ]; then
printf " port %-6s — poza zakresem\n" "$NEIGHBOR"
elif is_used "$NEIGHBOR"; then
printf " port %-6s 🔴 zajęty\n" "$NEIGHBOR"
else
printf " port %-6s 🟢 wolny\n" "$NEIGHBOR"
fi
done
fi
echo ""
exit 0
fi
ATTEMPT=$(( ATTEMPT + 1 ))
done
echo "❌ Nie udało się znaleźć wolnego portu po $MAX_ATTEMPTS próbach."
exit 1