V6.1.3 优化代码
This commit is contained in:
		
							parent
							
								
									e9415c7aec
								
							
						
					
					
						commit
						877a2ba049
					
				|  | @ -32,7 +32,7 @@ SHELL_HELP() { | ||||||
| 	-C <Github URL>		更改 Github 地址 | 	-C <Github URL>		更改 Github 地址 | ||||||
| 	-B <UEFI | Legacy>	指定 x86_64 设备下载 <UEFI | Legacy> 引导的固件 (危险) | 	-B <UEFI | Legacy>	指定 x86_64 设备下载 <UEFI | Legacy> 引导的固件 (危险) | ||||||
| 	-V <local | cloud>	打印 <本地 | 云端> AutoUpdate 脚本版本 | 	-V <local | cloud>	打印 <本地 | 云端> AutoUpdate 脚本版本 | ||||||
| 	--help			打印 AutoUpdate 帮助信息 | 	-H,--help		打印 AutoUpdate 帮助信息 | ||||||
| 	-L,--list		打印当前系统信息 | 	-L,--list		打印当前系统信息 | ||||||
| 	-U			检查版本更新 | 	-U			检查版本更新 | ||||||
| 	--corn-rm		删除所有 AutoUpdate 定时任务 | 	--corn-rm		删除所有 AutoUpdate 定时任务 | ||||||
|  | @ -91,10 +91,6 @@ EXIT() { | ||||||
| 	exit | 	exit | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| RANDOM() { |  | ||||||
| 	openssl rand -base64 $1 | md5sum | cut -c 1-$1 |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| TIME() { | TIME() { | ||||||
| 	[[ ! -d ${log_Path} ]] && mkdir -p "${log_Path}" | 	[[ ! -d ${log_Path} ]] && mkdir -p "${log_Path}" | ||||||
| 	[[ ! -f ${log_Path}/AutoUpdate.log ]] && touch "${log_Path}/AutoUpdate.log" | 	[[ ! -f ${log_Path}/AutoUpdate.log ]] && touch "${log_Path}/AutoUpdate.log" | ||||||
|  | @ -123,6 +119,16 @@ CHECK_PKG() { | ||||||
| 	[[ $? == 0 ]] && echo true || echo false | 	[[ $? == 0 ]] && echo true || echo false | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | RANDOM() { | ||||||
|  | 	openssl rand -base64 $1 | md5sum | cut -c 1-$1 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | GET_VARIABLE() { | ||||||
|  | 	[[ $# != 2 ]] && SHELL_HELP | ||||||
|  | 	[[ ! -f $2 ]] && TIME "未检测到定义文件: [$2] !" && EXIT 1 | ||||||
|  | 	echo -e "$(grep "$1=" $2 | grep -v "#" | awk 'NR==1' | sed -r "s/$1=(.*)/\1/")" | ||||||
|  | } | ||||||
|  | 
 | ||||||
| LOAD_VARIABLE() { | LOAD_VARIABLE() { | ||||||
| 	while [[ $1 ]];do | 	while [[ $1 ]];do | ||||||
| 		[[ -f $1 ]] && { | 		[[ -f $1 ]] && { | ||||||
|  | @ -222,18 +228,12 @@ CHANGE_BOOT() { | ||||||
| 	EXIT 0 | 	EXIT 0 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| GET_VARIABLE() { |  | ||||||
| 	[[ $# != 2 ]] && SHELL_HELP |  | ||||||
| 	[[ ! -f $2 ]] && TIME "未检测到定义文件: [$2] !" && EXIT 1 |  | ||||||
| 	echo -e "$(grep "$1=" $2 | grep -v "#" | awk 'NR==1' | sed -r "s/$1=(.*)/\1/")" |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| UPDATE_SCRIPT() { | UPDATE_SCRIPT() { | ||||||
| 	[[ $# != 2 ]] && SHELL_HELP | 	[[ $# != 2 ]] && SHELL_HELP | ||||||
| 	TIME b "脚本保存目录: $1" | 	TIME b "脚本保存目录: $1" | ||||||
| 	TIME b "下载地址: $2" | 	TIME b "下载地址: $2" | ||||||
| 	TIME "开始更新 AutoUpdate 脚本,请耐心等待..." | 	TIME "开始更新 AutoUpdate 脚本,请耐心等待..." | ||||||
| 	[ ! -d "$1" ] && mkdir -p $1 | 	[[ ! -d $1 ]] && mkdir -p $1 | ||||||
| 	wget -q --tries 3 --timeout 5 $2 -O /tmp/AutoUpdate.sh | 	wget -q --tries 3 --timeout 5 $2 -O /tmp/AutoUpdate.sh | ||||||
| 	if [[ $? == 0 ]];then | 	if [[ $? == 0 ]];then | ||||||
| 		mv -f /tmp/AutoUpdate.sh $1 | 		mv -f /tmp/AutoUpdate.sh $1 | ||||||
|  | @ -241,12 +241,13 @@ UPDATE_SCRIPT() { | ||||||
| 		chmod +x $1/AutoUpdate.sh | 		chmod +x $1/AutoUpdate.sh | ||||||
| 		NEW_Version=$(egrep -o "V[0-9].+" $1/AutoUpdate.sh | awk 'END{print}') | 		NEW_Version=$(egrep -o "V[0-9].+" $1/AutoUpdate.sh | awk 'END{print}') | ||||||
| 		Banner_Version=$(egrep -o "V[0-9]+.[0-9].+" /etc/banner) | 		Banner_Version=$(egrep -o "V[0-9]+.[0-9].+" /etc/banner) | ||||||
| 		[[ -n "${Banner_Version}" ]] && sed -i "s?${Banner_Version}?${NEW_Version}?g" /etc/banner | 		[[ -n ${Banner_Version} ]] && sed -i "s?${Banner_Version}?${NEW_Version}?g" /etc/banner | ||||||
| 		TIME y "[${Version}] > [${NEW_Version}] AutoUpdate 脚本更新成功!" | 		TIME y "[${Version}] > [${NEW_Version}] AutoUpdate 脚本更新成功!" | ||||||
|  | 		EXIT 0 | ||||||
| 	else | 	else | ||||||
| 		TIME r "AutoUpdate 脚本更新失败,请检查网络后重试!" | 		TIME r "AutoUpdate 脚本更新失败,请检查网络后重试!" | ||||||
|  | 		EXIT 1 | ||||||
| 	fi | 	fi | ||||||
| 	EXIT |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| CHECK_DEPENDS() { | CHECK_DEPENDS() { | ||||||
|  | @ -273,7 +274,7 @@ CHECK_UPDATES() { | ||||||
| 	TIME "正在获取版本更新..." | 	TIME "正在获取版本更新..." | ||||||
| 	[ ! -d ${FW_SAVE_PATH} ] && mkdir -p ${FW_SAVE_PATH} | 	[ ! -d ${FW_SAVE_PATH} ] && mkdir -p ${FW_SAVE_PATH} | ||||||
| 	wget -q --timeout 5 ${Github_Tag_URL} -O ${FW_SAVE_PATH}/Github_Tags | 	wget -q --timeout 5 ${Github_Tag_URL} -O ${FW_SAVE_PATH}/Github_Tags | ||||||
| 	[[ ! $? == 0 ]] || [[ ! -f ${FW_SAVE_PATH}/Github_Tags ]] && { | 	[[ ! $? == 0 || ! -f ${FW_SAVE_PATH}/Github_Tags ]] && { | ||||||
| 		[[ $1 == check ]] && echo "获取失败" > /tmp/Cloud_Version | 		[[ $1 == check ]] && echo "获取失败" > /tmp/Cloud_Version | ||||||
| 		TIME r "检查更新失败,请稍后重试!" | 		TIME r "检查更新失败,请稍后重试!" | ||||||
| 		EXIT 1 | 		EXIT 1 | ||||||
|  | @ -303,21 +304,18 @@ PREPARE_UPGRADES() { | ||||||
| 		[[ $1 == -T || $1 == --test ]] && { | 		[[ $1 == -T || $1 == --test ]] && { | ||||||
| 			Test_Mode=1 | 			Test_Mode=1 | ||||||
| 			TAIL_MSG=" [测试模式]" | 			TAIL_MSG=" [测试模式]" | ||||||
| 		} || | 		} | ||||||
| 		[[ $1 == -P || $1 == --proxy ]] && { | 		[[ $1 == -P || $1 == --proxy ]] && { | ||||||
| 			Proxy_Mode=1 | 			Proxy_Mode=1 | ||||||
| 			Proxy_Echo="[FastGit] " | 			Proxy_Echo="[FastGit] " | ||||||
| 		} || { |  | ||||||
| 			Proxy_Mode=0 |  | ||||||
| 			unset Proxy_Echo |  | ||||||
| 		} | 		} | ||||||
| 		[[ $1 =~ path= ]] && { | 		[[ $1 =~ path= ]] && { | ||||||
| 			[ -z "$(echo $1 | cut -d "=" -f2)" ] && TIME r "固件保存目录不能为空!" && EXIT 1 | 			[[ -z $(echo $1 | cut -d "=" -f2) ]] && TIME r "固件保存目录不能为空!" && EXIT 1 | ||||||
| 			FW_SAVE_PATH=$(echo $1 | cut -d "=" -f2) | 			FW_SAVE_PATH=$(echo $1 | cut -d "=" -f2) | ||||||
| 			TIME g "自定义固件保存目录: ${FW_SAVE_PATH}" | 			TIME g "自定义固件保存目录: ${FW_SAVE_PATH}" | ||||||
| 		} | 		} | ||||||
| 		[[ $1 == -F || $1 == --force ]] && Force_Write=1 | 		[[ $1 == -F || $1 == --force ]] && Force_Write=1 | ||||||
| 		case $1 in | 		case "$1" in | ||||||
| 		-n | -f | -u) | 		-n | -f | -u) | ||||||
| 			Option="$1" | 			Option="$1" | ||||||
| 		;; | 		;; | ||||||
|  | @ -428,8 +426,8 @@ EOF | ||||||
| 		chmod 777 ${FW_SAVE_PATH}/${FW_Name} | 		chmod 777 ${FW_SAVE_PATH}/${FW_Name} | ||||||
| 		DO_UPGRADE ${Upgrade_Option} ${FW_SAVE_PATH}/${FW_Name} | 		DO_UPGRADE ${Upgrade_Option} ${FW_SAVE_PATH}/${FW_Name} | ||||||
| 	} || { | 	} || { | ||||||
| 		TIME b "[Test Mode] 执行: ${Upgrade_Option} ${FW_SAVE_PATH}/${FW_Name}" | 		TIME x "[测试模式] 执行: ${Upgrade_Option} ${FW_SAVE_PATH}/${FW_Name}" | ||||||
| 		TIME b "[Test Mode] 测试模式运行完毕!" | 		TIME x "[测试模式] 测试模式运行完毕!" | ||||||
| 		EXIT 0 | 		EXIT 0 | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | @ -461,7 +459,7 @@ REMOVE_FW_CACHE() { | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| AutoUpdate_Main() { | AutoUpdate_Main() { | ||||||
| 	[ ! -f ${Custom_Variable} ] && touch ${Custom_Variable} | 	[[ ! -f ${Custom_Variable} ]] && touch ${Custom_Variable} | ||||||
| 	LOAD_VARIABLE ${Default_Variable} ${Custom_Variable} | 	LOAD_VARIABLE ${Default_Variable} ${Custom_Variable} | ||||||
| 
 | 
 | ||||||
| 	[[ -z $* ]] && PREPARE_UPGRADES $* | 	[[ -z $* ]] && PREPARE_UPGRADES $* | ||||||
|  | @ -479,6 +477,8 @@ AutoUpdate_Main() { | ||||||
| 				Cloud_Script_Version="$(wget -q --tries 3 --timeout 5 https://raw.fastgit.org/Hyy2001X/AutoBuild-Actions/master/Scripts/AutoUpdate.sh -O - | egrep -o "V[0-9].+")" | 				Cloud_Script_Version="$(wget -q --tries 3 --timeout 5 https://raw.fastgit.org/Hyy2001X/AutoBuild-Actions/master/Scripts/AutoUpdate.sh -O - | egrep -o "V[0-9].+")" | ||||||
| 				[[ -n ${Cloud_Script_Version} ]] && echo "${Cloud_Script_Version}" || echo "未知" | 				[[ -n ${Cloud_Script_Version} ]] && echo "${Cloud_Script_Version}" || echo "未知" | ||||||
| 			;; | 			;; | ||||||
|  | 			*) | ||||||
|  | 			    SHELL_HELP | ||||||
| 			esac | 			esac | ||||||
| 			EXIT 0 | 			EXIT 0 | ||||||
| 		;; | 		;; | ||||||
|  | @ -490,20 +490,24 @@ AutoUpdate_Main() { | ||||||
| 			REMOVE_FW_CACHE normal $* | 			REMOVE_FW_CACHE normal $* | ||||||
| 		;; | 		;; | ||||||
| 		--check) | 		--check) | ||||||
|  | 		    shift && [[ -n $* ]] && SHELL_HELP | ||||||
| 			CHECK_DEPENDS x86:gzip curl wget openssl | 			CHECK_DEPENDS x86:gzip curl wget openssl | ||||||
| 		;; | 		;; | ||||||
| 		--help) | 		-H | --help) | ||||||
| 			SHELL_HELP | 			SHELL_HELP | ||||||
| 		;; | 		;; | ||||||
| 		-L | --list) | 		-L | --list) | ||||||
|  | 		    shift && [[ -n $* ]] && SHELL_HELP | ||||||
| 			SHOW_VARIABLE | 			SHOW_VARIABLE | ||||||
| 		;; | 		;; | ||||||
| 		-C) | 		-C) | ||||||
| 			CHANGE_GITHUB $2 | 		    shift | ||||||
|  | 			CHANGE_GITHUB $1 | ||||||
| 		;; | 		;; | ||||||
| 		-B) | 		-B) | ||||||
| 			[[ ! ${TARGET_PROFILE} == x86_64 ]] && TIME r "该参数仅适用于 x86_64 设备!" && EXIT 1 | 		    shift | ||||||
| 			CHANGE_BOOT $2 | 			[[ ! ${TARGET_PROFILE} == x86_64 ]] && SHELL_HELP | ||||||
|  | 			CHANGE_BOOT $1 | ||||||
| 		;; | 		;; | ||||||
| 		-x) | 		-x) | ||||||
| 			while [[ $1 ]];do | 			while [[ $1 ]];do | ||||||
|  | @ -536,12 +540,16 @@ AutoUpdate_Main() { | ||||||
| 		;; | 		;; | ||||||
| 		--corn-rm) | 		--corn-rm) | ||||||
| 			[ ! -f /etc/crontabs/root ] && EXIT 1 | 			[ ! -f /etc/crontabs/root ] && EXIT 1 | ||||||
|  | 			shift && [[ -n $* ]] && SHELL_HELP | ||||||
|  | 			[[ $(cat /etc/crontabs/root) =~ AutoUpdate ]] && { | ||||||
| 			    sed -i '/AutoUpdate/d' /etc/crontabs/root >/dev/null 2>&1 | 			    sed -i '/AutoUpdate/d' /etc/crontabs/root >/dev/null 2>&1 | ||||||
| 			    TIME y "已删除所有 AutoUpdate 相关计划任务!" | 			    TIME y "已删除所有 AutoUpdate 相关计划任务!" | ||||||
| 		    	/etc/init.d/cron restart | 		    	/etc/init.d/cron restart | ||||||
| 			    EXIT 0 | 			    EXIT 0 | ||||||
|  | 			} || EXIT 1 | ||||||
| 		;; | 		;; | ||||||
| 		-U) | 		-U) | ||||||
|  | 		    shift && [[ -n $* ]] && SHELL_HELP | ||||||
| 			CHECK_UPDATES check | 			CHECK_UPDATES check | ||||||
| 			[ $? == 0 ] && EXIT 0 || EXIT 1 | 			[ $? == 0 ] && EXIT 0 || EXIT 1 | ||||||
| 		;; | 		;; | ||||||
|  | @ -613,7 +621,7 @@ AutoUpdate_Main() { | ||||||
| 	done | 	done | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export Version=V6.1.2 | export Version=V6.1.3 | ||||||
| export log_Path=/tmp | export log_Path=/tmp | ||||||
| export Upgrade_Command=sysupgrade | export Upgrade_Command=sysupgrade | ||||||
| export Default_Variable=/etc/AutoBuild/Default_Variable | export Default_Variable=/etc/AutoBuild/Default_Variable | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue