diff --git a/script.uefi b/script.uefi index 38a052d..6638639 100755 --- a/script.uefi +++ b/script.uefi @@ -160,6 +160,75 @@ partitions_analyse () { echo "${RESULT}" } +# print +print () { + local ANALYSE_STRING="$1" # TYPE=([a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}) TYPE=null + echo "Typ UUID Geräte-Pfad" | awk '{ printf "| %-10s| %-40s| %-20s|\n", $1, $2, $3 }' + awk 'BEGIN { for(f=1; f<= 77; f++) { if( f==1 || f==13 || f==55 || f==77) { printf "|" } else { printf "-" } } printf "\n" }' + until [[ "${ANALYSE_STRING}" == "" ]] + do + local CURRENT_RESULT=$(echo "${ANALYSE_STRING}" | awk '{ print $1 }') + local CURRENT_TYPE=$(echo "${CURRENT_RESULT}" | awk 'BEGIN { FS="=" } { print $1 }') + local CURRENT_UUID=$(echo "${CURRENT_RESULT}" | awk 'BEGIN { FS="=" } { print $2 }') + local CURRENT_PATH=$(lsblk -plo NAME /dev/disk/by-partuuid/"${CURRENT_UUID}" 2> /dev/null | tail -n +2) + local CURRENT_REST=${ANALYSE_STRING//${CURRENT_RESULT}} + CURRENT_REST=${CURRENT_REST# } + echo "${CURRENT_TYPE} ${CURRENT_UUID} ${CURRENT_PATH}" | awk '{ printf "| %-10s| %-40s| %-20s|\n" , $1, $2 , $3 }' + ANALYSE_STRING="${CURRENT_REST# }" + done + echo "" +} + +# print_todo +print_todo () { + local DEVICE="$1" + local ANALYSE_STRING="$2" + echo "Bitte Partitionen mit dem folgenden Eigenschaften anlegen:" + echo "" + echo "Typ Partiton-UUID Label Size" | awk '{ printf "| %-10s| %-40s| %-20s| %-5s|\n", $1, $2, $3, $4 }' + awk 'BEGIN { for(f=1; f<= 84; f++) { if( f==1 || f==13 || f==55 || f==77 || f==84) { printf "|" } else { printf "-" } } printf "\n" }' + until [[ "${ANALYSE_STRING}" == "" ]] + do + local CURRENT_RESULT=$(echo "${ANALYSE_STRING}" | awk '{ print $1}') + local CURRENT_TYPE=$(echo "${CURRENT_RESULT}" | awk 'BEGIN { FS="=" } { print $1 }') + local CURRENT_UUID=$(echo "${CURRENT_RESULT}" | awk 'BEGIN { FS="=" } { print $2 }') + if [[ "${CURRENT_UUID}" == "null" ]] + then + CURRENT_UUID="${GUIDS[${CURRENT_TYPE}]}" + case ${CURRENT_TYPE} in + "USR") + CURRENT_LABEL="${USR_LABEL}" + CURRENT_SIZE="${USR_SIZE}" + ;; + "USRHASH") + CURRENT_LABEL="${USRHASH_LABEL}" + CURRENT_SIZE="${USRHASH_SIZE}" + ;; + "ROOT") + CURRENT_LABEL="${ROOT_LABEL}" + CURRENT_SIZE="${ROOT_SIZE}" + ;; + "SWAP") + CURRENT_LABEL="${SWAP_LABEL}" + CURRENT_SIZE="${SWAP_SIZE}" + ;; + "ESP") + CURRENT_LABEL="${ESP_LABEL}" + CURRENT_SIZE="${ESP_SIZE}" + ;; + *) + die 1 "Unbekannter Partitionstyp" + ;; + esac + echo "${CURRENT_TYPE}=${CURRENT_UUID}=${CURRENT_LABEL}=${CURRENT_SIZE}" | awk 'BEGIN { FS="=" } { printf "| %-10s| %-40s| %-20s| %-5s|\n", $1, $2, $3, $4 }' + fi + local CURRENT_REST=${ANALYSE_STRING//${CURRENT_RESULT}} + ANALYSE_STRING="${CURRENT_REST# }" + done + echo "" + echo -e "z.B. mit dem Kommando:\n# gdisk -n 0:0:+ -t 0: -c 0: