添加 删除与安装脚本加入本地目录检查
This commit is contained in:
33
run
Normal file → Executable file
33
run
Normal file → Executable file
@@ -1,26 +1,43 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Version Check
|
||||
# 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]+)?+(\.[0-9]+)?')
|
||||
VERSION=$(echo "$ALL_VERSIONS" | head -n1)
|
||||
VERSION_NO_DOT=$(echo "$VERSION" | tr -d '.')
|
||||
ALL_VERSIONS=$(echo "$TEXT" | grep -oP '[0-9]+\.[0-9]+(\.[0-9]+){1,2}')
|
||||
LATEST_VERSION=$(echo "$ALL_VERSIONS" | head -n1)
|
||||
LATEST_VERSION_NO_DOT=$(echo "$LATEST_VERSION" | tr -d '.')
|
||||
ALL_VERSIONS_NO_DOT=$(printf "%s\n" "$ALL_VERSIONS" | tr -d '.')
|
||||
if [[ $1 == 'latest' ]]; then
|
||||
VERSION=$LATEST_VERSION_NO_DOT
|
||||
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
|
||||
VERSION=$LATEST_VERSION_NO_DOT
|
||||
echo "If no parameters are passed"
|
||||
echo "The version will default to the latest version."
|
||||
echo "Latest version: $VERSION. "
|
||||
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
|
||||
VERSION="$VERSION"
|
||||
else
|
||||
echo "Error: version '$VERSION' does not exist locally."
|
||||
printf "Do you want to install it? (Y/n) "
|
||||
read CHOICE
|
||||
if [[ $CHOICE == 'y' || $CHOICE == 'Y' ]]; then
|
||||
bash install $VERSION
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Run
|
||||
|
||||
Reference in New Issue
Block a user