speeding up the output of the install list
This commit is contained in:
		
							
								
								
									
										42
									
								
								winehelper
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								winehelper
									
									
									
									
									
								
							| @@ -1281,21 +1281,35 @@ run_autoinstall () { | ||||
|     export INSTALL_SCRIPT INSTALL_MODE | ||||
|  | ||||
|     if [[ $INSTALL_SCRIPT_NAME == "list" ]] || [[ -z "$INSTALL_SCRIPT_NAME" ]] ; then | ||||
|         print_info "Список программ с возможностью автоматической установки:" | ||||
|         for list in $(ls "$WH_AUTOINSTALL_DIR") ; do | ||||
|             AI_INFO="$(grep "info_ru:" "$WH_AUTOINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')" | ||||
|             AI_PROGNAME="$(grep "PROG_NAME=" "$WH_AUTOINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')" | ||||
|             echo -e "\n$list - $AI_PROGNAME" | ||||
|             echo "$AI_INFO" | ||||
|         done | ||||
|  | ||||
|         list_install_scripts() { | ||||
|             local dir="$1" | ||||
|             local title="$2" | ||||
|             [[ ! -d "$dir" ]] || [[ -z "$(ls -A "$dir" 2>/dev/null)" ]] && return | ||||
|  | ||||
|             print_info "$title" | ||||
|  | ||||
|             awk ' | ||||
|                 FNR==1 { | ||||
|                     if (progname) { | ||||
|                         printf "\n%s - %s\n%s\n", filename, progname, info | ||||
|                     } | ||||
|                     progname=""; info=""; filename=FILENAME | ||||
|                     sub(".*/", "", filename) | ||||
|                 } | ||||
|                 /info_ru:/ { sub(/.*info_ru: /, ""); info=$0 } | ||||
|                 /PROG_NAME=/ { sub(/.*PROG_NAME=/, ""); progname=$0 } | ||||
|                 END { | ||||
|                     if (progname) { | ||||
|                          printf "\n%s - %s\n%s\n", filename, progname, info | ||||
|                     } | ||||
|                 } | ||||
|             ' "$dir"/* | ||||
|         } | ||||
|  | ||||
|         list_install_scripts "$WH_AUTOINSTALL_DIR" "Список программ с возможностью автоматической установки:" | ||||
|         echo | ||||
|         print_info "Список программ с возможностью установки из существующего дистрибутива:" | ||||
|         for list in $(ls "$WH_MANUALINSTALL_DIR") ; do | ||||
|             AI_INFO="$(grep "info_ru:" "$WH_MANUALINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')" | ||||
|             AI_PROGNAME="$(grep "PROG_NAME=" "$WH_MANUALINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')" | ||||
|             echo -e "\n$list - $AI_PROGNAME" | ||||
|             echo "$AI_INFO" | ||||
|         done | ||||
|         list_install_scripts "$WH_MANUALINSTALL_DIR" "Список программ с возможностью установки из существующего дистрибутива:" | ||||
|     elif [[ "$INSTALL_SCRIPT" != "0" ]] ; then | ||||
|         source "$INSTALL_SCRIPT" "$@" | ||||
|         print_info "Завершена установка $INSTALL_SCRIPT_NAME" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user