#!/bin/bash #_______________________________________________________________________________________________________________________________ # # Formato de salida: # disk=Número de disco\tpar=Número de particion\tcod=Código de partición\tsfi=Sistema de ficheros\tsoi=Sistema instalado\ttam=Tamaño de la partición\n #_______________________________________________________________________________________________________________________________ cfg="" disks=$(ogDiskToDev | wc -w) for ((dsk=1; dsk<=$disks; dsk++)); do particiones=$(ogGetPartitionsNumber $dsk) particiones=${particiones:-0} # Tipo de tabla de particiones: 1=MSDOS, 2=GPT ptt=$(ogGetPartitionTableType $dsk) case "$ptt" in MSDOS) ptt=1 ;; GPT) ptt=2 ;; LVM) ptt=3 ;; *) ptt=0 ;; esac # Información de disco (partición 0) cfg="$cfg$dsk:0:$ptt:::$(ogGetDiskSize $dsk);" for ((par=1;par<=$particiones;par++)); do # Código del identificador de tipo de partición cod=$(ogGetPartitionId $dsk $par 2>/dev/null) # Tipo del sistema de ficheros fsi=$(getFsType $dsk $par 2>/dev/null) fsi=${fsi:-"EMPTY"} # Tamaño de la particón tam=$(ogGetPartitionSize $dsk $par 2>/dev/null) tam=${tam:-"0"} # Sistema operativo instalado case "$fsi" in ""|EMPTY|CACHE|LINUX-SWAP|LINUX-LVM) soi="" ;; *) soi=$(getOsVersion $dsk $par 2>/dev/null | cut -f2 -d:) # Sistema de archivos para datos (sistema operativo "DATA") [ -z "$soi" -a "$fsi" != "EMPTY" -a "$fsi" != "CACHE" ] && soi="DATA" ;; esac cfg="$cfg$dsk:$par:$cod:$fsi:$soi:$tam;" done done # Crear configuración por defecto para cliente sin disco. [ -z "$cfg" ] && cfg="1:0:0:::0;" # Guardar salida en fichero temporal. cfgfile=/tmp/getconfig echo $cfg > $cfgfile # Crear el menú por defecto a partir del fichero generado (no dar ninguna salida). generateMenuDefault &>/dev/null # Componer salida formateada. awk '{ n=split($0,sep,";"); for (i=1; i