V4.6 优化代码稳定性

This commit is contained in:
Hyy2001X 2020-12-23 22:28:57 +08:00 committed by GitHub
parent 7cae350d57
commit 17e539ff7e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 9 deletions

View File

@ -3,7 +3,7 @@
# AutoBuild Module by Hyy2001
# AutoUpdate for Openwrt
Version=V4.5
Version=V4.6
DEFAULT_DEVICE=d-team_newifi-d2
Github=https://github.com/Hyy2001X/AutoBuild-Actions
@ -18,10 +18,11 @@ cd /etc
CURRENT_VERSION=$(awk 'NR==1' openwrt_info)
CURRENT_DEVICE=$(jsonfilter -e '@.model.id' < "/etc/board.json" | tr ',' '_')
clear && echo "Openwrt-AutoUpdate Script ${Version}"
if [[ -z "$1" ]];then
Input_Option="$1"
if [[ -z "${Input_Option}" ]];then
Upgrade_Options="-q" && TIME && echo "执行: 保留配置更新固件[静默模式]"
else
case $1 in
case ${Input_Option} in
-n)
TIME && echo "执行: 不保留配置更新固件"
;;
@ -36,6 +37,10 @@ else
Upgrade_Options="-q"
TIME && echo "执行: 强制更新固件并保留配置"
;;
-u)
AutoUpdate_Mode="1"
Upgrade_Options="-q"
;;
*)
echo -e "\nUsage: bash /bin/AutoUpdate.sh [<Option>]"
echo -e "\n可使用的选项:"
@ -43,15 +48,18 @@ else
echo " -q 更新固件并保留配置[静默模式]"
echo " -v 更新固件并保留配置[详细模式]"
echo " -n 更新固件但不保留配置"
echo " -u 适用于定时更新的参数"
echo -e "\n项目地址: ${Github}"
echo -e "默认设备: ${DEFAULT_DEVICE}\n"
exit
;;
esac
[ ! $1 == "-f" ] && Upgrade_Options="$1"
if [[ ! "${Force_Update}" == "1" ]] && [[ ! "${AutoUpdate_Mode}" == "1" ]];then
Upgrade_Options="${Input_Option}"
fi
fi
opkg list | awk '{print $1}' > /tmp/Package_list
if [[ ! "${Force_Update}" == "1" ]];then
if [[ ! "${Force_Update}" == "1" ]] && [[ ! "${AutoUpdate_Mode}" == "1" ]];then
grep "curl" /tmp/Package_list > /dev/null 2>&1
if [[ ! $? -ne 0 ]];then
Google_Check=$(curl -I -s --connect-timeout 5 www.google.com -w %{http_code} | tail -n1)
@ -60,7 +68,7 @@ if [[ ! "${Force_Update}" == "1" ]];then
fi
grep "wget" /tmp/Package_list > /dev/null 2>&1
if [[ $? -ne 0 ]];then
if [[ "${Force_Update}" == "1" ]];then
if [[ "${Force_Update}" == "1" ]] || [[ "${AutoUpdate_Mode}" == "1" ]];then
Choose="Y"
else
TIME && read -p "未安装[wget],是否执行安装?[Y/n]:" Choose
@ -96,12 +104,13 @@ fi
echo -e "\n固件作者: ${Author%/*}"
echo "设备名称: ${DEFAULT_DEVICE}"
echo -e "\n当前固件版本: ${CURRENT_VERSION}"
echo -e "云端固件版本: ${GET_Version}"
echo "云端固件版本: ${GET_Version}"
if [[ ! ${Force_Update} == 1 ]];then
if [[ "${CURRENT_VERSION}" == "${GET_Version}" ]];then
[[ "${AutoUpdate_Mode}" == "1" ]] && exit
TIME && read -p "已是最新版本,是否强制更新固件?[Y/n]:" Choose
if [[ "${Choose}" == Y ]] || [[ "${Choose}" == y ]];then
TIME && echo -e "开始强制更新固件...\n"
TIME && echo "开始强制更新固件..."
else
TIME && echo "已取消强制更新,即将退出更新程序..."
sleep 2
@ -112,7 +121,7 @@ fi
Firmware_Info="${GET_FullVersion}"
Firmware="${Firmware_Info}.bin"
Firmware_Detail="${Firmware_Info}.detail"
echo "云端固件名称: ${Firmware}"
echo -e "\n云端固件名称: ${Firmware}"
Disk_List="/tmp/disk_list"
[ -f $Disk_List ] && rm -f $Disk_List
Check_Disk="$(mount | egrep -o "mnt/+sd[a-zA-Z][0-9]+")"