47 lines
1.3 KiB
Bash
Executable File
47 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Param Handle
|
|
VERSION=$(echo $1 | tr -d '/')
|
|
|
|
# Version History Check
|
|
TEXT=$(
|
|
curl -s https://terraria.wiki.gg/wiki/Desktop_version_history | tr '\n' ' ' | grep -oP '(?<=<tbody>).*?(?=</tbody>)'
|
|
)
|
|
ALL_VERSIONS=$(echo "$TEXT" | grep -oP '[0-9]+\.[0-9]+(\.[0-9]+){1,2}')
|
|
# LATEST_VERSION=$(echo "$ALL_VERSIONS" | head -n1)
|
|
ALL_VERSIONS_NO_DOT=$(printf "%s\n" "$ALL_VERSIONS" | tr -d '.')
|
|
# if [[ $1 == 'latest' ]]; then
|
|
# echo "Latest version: $VERSION"
|
|
# VERSION=$VERSION_NO_DOT
|
|
# elif [[ -n $1 ]]; then
|
|
# if echo "$ALL_VERSIONS" | tr -d '.' | grep -q "^$1$"; then
|
|
# VERSION=$1
|
|
# echo "Selected version: $VERSION"
|
|
# else
|
|
# echo "Error: version '$1' not found in version history."
|
|
# exit 1
|
|
# fi
|
|
# else
|
|
# echo "Latest version: $VERSION"
|
|
# VERSION=$VERSION_NO_DOT
|
|
# fi
|
|
if [[ -n $VERSION ]]; then
|
|
if echo "$ALL_VERSIONS" | tr -d '.' | grep -q "^$VERSION$"; then
|
|
FINAL_VERSION=$VERSION
|
|
else
|
|
echo "Error: version '$VERSION' not found in version history."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Local Folder Check
|
|
LOCAL_VERSIONS=$(printf '%s\n' * | grep -oP '[0-9]+[0-9]+([0-9]+)?+([0-9]+)?')
|
|
if printf '%s\n' "$LOCAL_VERSIONS" | grep -qx -- "$VERSION"; then
|
|
FINAL_VERSION="$VERSION"
|
|
else
|
|
echo "Error: version '$VERSION' does not exist locally."
|
|
exit 1
|
|
fi
|
|
|
|
# Remove
|
|
rm -fr ./$FINAL_VERSION |