parent
ffe6b5da2c
commit
d6da5fc55e
@ -1 +1 @@
|
||||
VERSION 2.10
|
||||
VERSION 2.11
|
||||
|
||||
@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
ENABLED=yes
|
||||
[ "$ENABLED" != "yes" ] && exit 0
|
||||
|
||||
SELF_NAME="grub-functions"
|
||||
|
||||
PATH_GRUB="/memory/data/from/0/boot/grub/"
|
||||
|
||||
exec_get_all_menuentry(){
|
||||
## Показать все варианты загрузки из grub_*.cfg grub_*_addon.cfg grub_*_boothdd.cfg
|
||||
FILE_OSRELEASE="/etc/os-release"
|
||||
NAME_DISTRIB=$(sed -En "/VARIANT=/{s/VARIANT=\"(.*)\"/\1/p}" ${FILE_OSRELEASE})
|
||||
VER_DISTRIB=$(sed -En "/VERSION_ID=/{s/VERSION_ID=(.*)/\1/p}" ${FILE_OSRELEASE})
|
||||
|
||||
FILE_GRUB_MAIN="${PATH_GRUB}/ublinux/grub_${LANG%_*}.cfg"
|
||||
sed -En "/menuentry/{
|
||||
/(ISO|Install|Установка)/!{
|
||||
s/^[ \t]*//
|
||||
s/\\$\{NAME_DISTRIB\}/${NAME_DISTRIB}/
|
||||
s/\\$\{VER_DISTRIB\}/${VER_DISTRIB}/
|
||||
s/menuentry \"(.*${NAME_DISTRIB}.*${VER_DISTRIB}.*)\" .*/\1/p
|
||||
}
|
||||
}" ${FILE_GRUB_MAIN}
|
||||
|
||||
|
||||
FILE_GRUB_ADDON="${PATH_GRUB}/ublinux/grub_${LANG%_*}_addon.cfg"
|
||||
NAME_MENU_GRUB_ADDON=$(sed -En "/${FILE_GRUB_ADDON##*/}/{x;{s/menuentry \"(.*)\" .*/\1/p};d;}; x" ${FILE_GRUB_MAIN})
|
||||
sed -En "/menuentry/{
|
||||
/(ISO|Install|Установка)/!{
|
||||
s/^[ \t]*/${NAME_MENU_GRUB_ADDON}>/
|
||||
s/\\$\{NAME_DISTRIB\}/${NAME_DISTRIB}/
|
||||
s/\\$\{VER_DISTRIB\}/${VER_DISTRIB}/
|
||||
s/menuentry \"(.*${NAME_DISTRIB}.*${VER_DISTRIB}.*)\" .*/\1/p
|
||||
}
|
||||
}" ${FILE_GRUB_ADDON}
|
||||
|
||||
FILE_GRUB_BOOTHDD="${PATH_GRUB}/ublinux/grub_${LANG%_*}_boothdd.cfg"
|
||||
NAME_MENU_GRUB_BOOTHDD=$(sed -En "/${FILE_GRUB_BOOTHDD##*/}/{x;{s/menuentry \"(.*)\" .*/\1/p};d;}; x" ${FILE_GRUB_MAIN})
|
||||
sed -En "/menuentry/{
|
||||
/(Back|Возврат)/!{
|
||||
s/^[ \t]*/${NAME_MENU_GRUB_BOOTHDD}>/
|
||||
s/\\$\{VER_DISTRIB\}/${VER_DISTRIB}/
|
||||
s/menuentry \"(.*)\" .*/\1/p
|
||||
}
|
||||
}" ${FILE_GRUB_BOOTHDD}
|
||||
}
|
||||
|
||||
exec_get_last_menuentry(){
|
||||
## Показать последний выбранный вариант загрузки
|
||||
FILE_GRUBENV="${PATH_GRUB}/grubenv"
|
||||
sed -En "/saved_entry=/{s/saved_entry=(.*)/\1/p}" ${FILE_GRUBENV}
|
||||
}
|
||||
|
||||
################
|
||||
##### MAIN #####
|
||||
################
|
||||
|
||||
# Возможность подключить как source из любого скрипта и вызов встроенных функций
|
||||
|
||||
if [[ ${0##*/} == ${SELF_NAME} ]]; then
|
||||
while [[ $# -gt 0 ]]; do
|
||||
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" ${1}" && shift; }
|
||||
done
|
||||
eval ${FUNCTION#*; }
|
||||
else
|
||||
true
|
||||
fi
|
||||
Loading…
Reference in new issue