mirror of
https://github.com/RogerSik/proxmox-vm-template.git
synced 2026-06-07 17:03:10 +02:00
sort changed and show only 4 lts versions
This commit is contained in:
+24
-8
@@ -4,13 +4,25 @@ DIR=$(
|
|||||||
pwd
|
pwd
|
||||||
)
|
)
|
||||||
|
|
||||||
mapfile -t LTS_RELEASES < <(curl -s https://changelogs.ubuntu.com/meta-release-lts | grep "^Dist:" | awk '{print $2}')
|
mapfile -t LTS_ENTRIES < <(
|
||||||
|
curl -s https://changelogs.ubuntu.com/meta-release-lts | awk '
|
||||||
|
/^Dist:/ { dist=$2 }
|
||||||
|
/^Version:/ { ver=$2; print dist " " ver }
|
||||||
|
' | tail -4 | tac
|
||||||
|
)
|
||||||
|
|
||||||
if [ ${#LTS_RELEASES[@]} -eq 0 ]; then
|
if [ ${#LTS_ENTRIES[@]} -eq 0 ]; then
|
||||||
echo "Error: Could not fetch LTS release list from Ubuntu"
|
echo "Error: Could not fetch LTS release list from Ubuntu"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
LTS_RELEASES=()
|
||||||
|
LTS_VERSIONS=()
|
||||||
|
for entry in "${LTS_ENTRIES[@]}"; do
|
||||||
|
LTS_RELEASES+=("${entry%% *}")
|
||||||
|
LTS_VERSIONS+=("${entry##* }")
|
||||||
|
done
|
||||||
|
|
||||||
LAST_LTS_RELEASE="${LTS_RELEASES[-1]}"
|
LAST_LTS_RELEASE="${LTS_RELEASES[-1]}"
|
||||||
|
|
||||||
if [ -n "$1" ]; then
|
if [ -n "$1" ]; then
|
||||||
@@ -21,22 +33,26 @@ if [ -n "$1" ]; then
|
|||||||
done
|
done
|
||||||
if [ "$VALID" -eq 0 ]; then
|
if [ "$VALID" -eq 0 ]; then
|
||||||
echo "Error: '$SELECTED_RELEASE' is not a valid LTS release."
|
echo "Error: '$SELECTED_RELEASE' is not a valid LTS release."
|
||||||
echo "Available: ${LTS_RELEASES[*]}"
|
printf "Available: "
|
||||||
|
for i in "${!LTS_RELEASES[@]}"; do
|
||||||
|
printf "%s (%s) " "${LTS_RELEASES[$i]}" "${LTS_VERSIONS[$i]}"
|
||||||
|
done
|
||||||
|
echo ""
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo ""
|
echo ""
|
||||||
echo "Available Ubuntu LTS versions:"
|
echo "Available Ubuntu LTS versions:"
|
||||||
for i in "${!LTS_RELEASES[@]}"; do
|
for i in "${!LTS_RELEASES[@]}"; do
|
||||||
if [ "${LTS_RELEASES[$i]}" = "$SELECTED_RELEASE" ]; then
|
if [ "${LTS_RELEASES[$i]}" = "$LAST_LTS_RELEASE" ]; then
|
||||||
echo " $((i+1))) ${LTS_RELEASES[$i]} (latest)"
|
echo " $((i+1))) ${LTS_VERSIONS[$i]} (${LTS_RELEASES[$i]}) (latest)"
|
||||||
else
|
else
|
||||||
echo " $((i+1))) ${LTS_RELEASES[$i]}"
|
echo " $((i+1))) ${LTS_VERSIONS[$i]} (${LTS_RELEASES[$i]})"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo ""
|
echo ""
|
||||||
read -rp "Select version [1-${#LTS_RELEASES[@]}, default: ${#LTS_RELEASES[@]}]: " SELECTION
|
read -rp "Select version [1-${#LTS_RELEASES[@]}, default: 1]: " SELECTION
|
||||||
SELECTION="${SELECTION:-${#LTS_RELEASES[@]}}"
|
SELECTION="${SELECTION:-1}"
|
||||||
if ! [[ "$SELECTION" =~ ^[0-9]+$ ]] || [ "$SELECTION" -lt 1 ] || [ "$SELECTION" -gt "${#LTS_RELEASES[@]}" ]; then
|
if ! [[ "$SELECTION" =~ ^[0-9]+$ ]] || [ "$SELECTION" -lt 1 ] || [ "$SELECTION" -gt "${#LTS_RELEASES[@]}" ]; then
|
||||||
echo "Error: Invalid selection"
|
echo "Error: Invalid selection"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
Reference in New Issue
Block a user