添加 删除与安装脚本加入本地目录检查
This commit is contained in:
@@ -44,9 +44,9 @@ bash remove 1456 # 卸载1.4.5.6
|
|||||||
```
|
```
|
||||||
|
|
||||||
### 3.启动
|
### 3.启动
|
||||||
使用`run`加版本号即可删除泰拉瑞亚服务端
|
使用`run`加版本号即可启动泰拉瑞亚服务端
|
||||||
```shell
|
```shell
|
||||||
bash run 1456 # 启动1.4.5.6
|
bash run 1456 # 启动1.4.5.6
|
||||||
```
|
```
|
||||||
>还可以使用`latest`参数直接安装、删除、启动最新版本 ~~(尚未实现)~~
|
>还可以使用`latest`参数直接安装、启动最新版本
|
||||||
如果未填入参数,则直接按最新版本安装
|
安装时如果未填入参数,则直接按最新版本安装,运行参数如果不存在本地,则调用安装后运行
|
||||||
6
install
Normal file → Executable file
6
install
Normal file → Executable file
@@ -35,13 +35,13 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Version Check
|
# Version History Check
|
||||||
TEXT=$(
|
TEXT=$(
|
||||||
curl -s https://terraria.wiki.gg/wiki/Desktop_version_history | tr '\n' ' ' | grep -oP '(?<=<tbody>).*?(?=</tbody>)'
|
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]+)?')
|
ALL_VERSIONS=$(echo "$TEXT" | grep -oP '[0-9]+\.[0-9]+(\.[0-9]+)?+(\.[0-9]+)?')
|
||||||
VERSION=$(echo "$ALL_VERSIONS" | head -n1)
|
LATEST_VERSION=$(printf "%s\n" "$ALL_VERSIONS" | head -n1)
|
||||||
VERSION_NO_DOT=$(echo "$VERSION" | tr -d '.')
|
VERSION_NO_DOT=$(echo "$LATEST_VERSION" | tr -d '.')
|
||||||
if [[ $1 == 'latest' ]]; then
|
if [[ $1 == 'latest' ]]; then
|
||||||
echo "Latest version: $VERSION"
|
echo "Latest version: $VERSION"
|
||||||
VERSION=$VERSION_NO_DOT
|
VERSION=$VERSION_NO_DOT
|
||||||
|
|||||||
50
remove
Normal file → Executable file
50
remove
Normal file → Executable file
@@ -1,27 +1,47 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Version Check
|
# Param Handle
|
||||||
|
VERSION=$(echo $1 | tr -d '/')
|
||||||
|
|
||||||
|
# Version History Check
|
||||||
TEXT=$(
|
TEXT=$(
|
||||||
curl -s https://terraria.wiki.gg/wiki/Desktop_version_history | tr '\n' ' ' | grep -oP '(?<=<tbody>).*?(?=</tbody>)'
|
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]+)?')
|
ALL_VERSIONS=$(echo "$TEXT" | grep -oP '[0-9]+\.[0-9]+(\.[0-9]+){1,2}')
|
||||||
VERSION=$(echo "$ALL_VERSIONS" | head -n1)
|
# LATEST_VERSION=$(echo "$ALL_VERSIONS" | head -n1)
|
||||||
VERSION_NO_DOT=$(echo "$VERSION" | tr -d '.')
|
ALL_VERSIONS_NO_DOT=$(printf "%s\n" "$ALL_VERSIONS" | tr -d '.')
|
||||||
if [[ $1 == 'latest' ]]; then
|
# if [[ $1 == 'latest' ]]; then
|
||||||
echo "Latest version: $VERSION"
|
# echo "Latest version: $VERSION"
|
||||||
VERSION=$VERSION_NO_DOT
|
# VERSION=$VERSION_NO_DOT
|
||||||
elif [[ -n $1 ]]; then
|
# elif [[ -n $1 ]]; then
|
||||||
if echo "$ALL_VERSIONS" | tr -d '.' | grep -q "^$1$"; then
|
# if echo "$ALL_VERSIONS" | tr -d '.' | grep -q "^$1$"; then
|
||||||
VERSION=$1
|
# VERSION=$1
|
||||||
echo "Selected version: $VERSION"
|
# 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
|
else
|
||||||
echo "Error: version '$1' not found in version history."
|
echo "Error: version '$VERSION' not found in version history."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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
|
else
|
||||||
echo "Latest version: $VERSION"
|
echo "Error: version '$VERSION' does not exist locally."
|
||||||
VERSION=$VERSION_NO_DOT
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Remove
|
# Remove
|
||||||
rm /fr ./$VERSION
|
rm -fr ./$FINAL_VERSION
|
||||||
33
run
Normal file → Executable file
33
run
Normal file → Executable file
@@ -1,26 +1,43 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Version Check
|
# Version History Check
|
||||||
TEXT=$(
|
TEXT=$(
|
||||||
curl -s https://terraria.wiki.gg/wiki/Desktop_version_history | tr '\n' ' ' | grep -oP '(?<=<tbody>).*?(?=</tbody>)'
|
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]+)?')
|
ALL_VERSIONS=$(echo "$TEXT" | grep -oP '[0-9]+\.[0-9]+(\.[0-9]+){1,2}')
|
||||||
VERSION=$(echo "$ALL_VERSIONS" | head -n1)
|
LATEST_VERSION=$(echo "$ALL_VERSIONS" | head -n1)
|
||||||
VERSION_NO_DOT=$(echo "$VERSION" | tr -d '.')
|
LATEST_VERSION_NO_DOT=$(echo "$LATEST_VERSION" | tr -d '.')
|
||||||
|
ALL_VERSIONS_NO_DOT=$(printf "%s\n" "$ALL_VERSIONS" | tr -d '.')
|
||||||
if [[ $1 == 'latest' ]]; then
|
if [[ $1 == 'latest' ]]; then
|
||||||
|
VERSION=$LATEST_VERSION_NO_DOT
|
||||||
echo "Latest version: $VERSION"
|
echo "Latest version: $VERSION"
|
||||||
VERSION=$VERSION_NO_DOT
|
|
||||||
elif [[ -n $1 ]]; then
|
elif [[ -n $1 ]]; then
|
||||||
if echo "$ALL_VERSIONS" | tr -d '.' | grep -q "^$1$"; then
|
if echo "$ALL_VERSIONS" | tr -d '.' | grep -q "^$1$"; then
|
||||||
VERSION=$1
|
VERSION=$1
|
||||||
echo "Selected version: $VERSION"
|
|
||||||
else
|
else
|
||||||
echo "Error: version '$1' not found in version history."
|
echo "Error: version '$1' not found in version history."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "Latest version: $VERSION"
|
VERSION=$LATEST_VERSION_NO_DOT
|
||||||
VERSION=$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
|
fi
|
||||||
|
|
||||||
# Run
|
# Run
|
||||||
|
|||||||
Reference in New Issue
Block a user