1 | #!/bin/bash |
---|
2 | |
---|
3 | #_______________________________________________________________________________________________________________________________ |
---|
4 | # |
---|
5 | # Formato de salida: |
---|
6 | # 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 |
---|
7 | #_______________________________________________________________________________________________________________________________ |
---|
8 | |
---|
9 | |
---|
10 | cfg="" |
---|
11 | disks=$(ogDiskToDev | wc -w) |
---|
12 | for ((dsk=1; dsk<=$disks; dsk++)); do |
---|
13 | particiones=$(ogGetPartitionsNumber $dsk) |
---|
14 | # Tipo de tabla de particiones: 1=MSDOS, 2=GPT |
---|
15 | ptt=$(ogGetPartitionTableType $dsk) |
---|
16 | case "$ptt" in |
---|
17 | MSDOS) ptt=1 ;; |
---|
18 | GPT) ptt=2 ;; |
---|
19 | *) ptt=0 ;; |
---|
20 | esac |
---|
21 | # Información de disco (partición 0) |
---|
22 | cfg="$cfg$dsk:0:$ptt:::$(ogGetDiskSize $dsk);" |
---|
23 | for ((par=1;par<=$particiones;par++)); do |
---|
24 | # Código del identificador de tipo de partición |
---|
25 | cod=$(ogGetPartitionId $dsk $par 2>/dev/null) |
---|
26 | # Tipo de partición o sistema de fichero |
---|
27 | fsi=$(getFsType $dsk $par 2>/dev/null) |
---|
28 | fsi=${fsi:-"EMPTY"} |
---|
29 | # Tamaño de la particón |
---|
30 | tam=$(ogGetPartitionSize $dsk $par 2>/dev/null) |
---|
31 | tam=${tam:-"0"} |
---|
32 | # Sistema de fichero instalado |
---|
33 | case "$cod" in |
---|
34 | ""|82|8200|A502|BF02|EE|EF0[012]) |
---|
35 | soi="" ;; |
---|
36 | *) soi=$(getOsVersion $dsk $par 2>/dev/null | cut -f2 -d:) ;; |
---|
37 | esac |
---|
38 | |
---|
39 | cfg="$cfg$dsk:$par:$cod:$fsi:$soi:$tam;" |
---|
40 | done |
---|
41 | done |
---|
42 | |
---|
43 | # Guardar salida en fichero temporal. |
---|
44 | cfgfile=/tmp/getconfig |
---|
45 | echo $cfg > $cfgfile |
---|
46 | |
---|
47 | # Generar el menú por defecto a partir del fichero generado (no dar ninguna salida). |
---|
48 | generateMenuDefault &>/dev/null |
---|
49 | |
---|
50 | # Componer salida formateada. |
---|
51 | awk '{ n=split($0,sep,";"); |
---|
52 | for (i=1; i<n; i++){ |
---|
53 | split (sep[i],dua,":"); |
---|
54 | printf ("disk=%s\tpar=%s\tcpt=%s\tfsi=%s\tsoi=%s\ttam=%s\n", |
---|
55 | dua[1],dua[2],dua[3],dua[4],dua[5],dua[6]); |
---|
56 | } |
---|
57 | }' $cfgfile |
---|
58 | |
---|