Curso de Programación en Bash/S23.sh
Ir a la navegación
Ir a la búsqueda
S23.sh
1 #!/bin/bash
2
3
4 area[11]=23
5 area[13]=37
6 area[51]=UFOs
7
8 # No es necesario que los miembros de un areglo son consecutivos
9 # o contiguos.
10
11 # Algunos elementos de la matriz se puede dejar sin inicializar.
12 # Vacíos en la matriz están permitidos.
13 # De hecho, las matrices con datos escasos ("matrices dispersas")
14 # son útiles en una hoja de cálculo de procesamiento.
15
16
17 echo -n "area[11] = "
18 echo ${area[11]} # { llaves } son mandatorios.
19
20 echo -n "area[13] = "
21 echo ${area[13]}
22
23 echo "Contenidos del area[51] son ${area[51]}."
24
25 # Elementos de una matriz sin inicialización imprimen nada (null).
26 echo -n "area[43] = "
27 echo ${area[43]}
28 echo "(area[43] sin inicialización )"
29
30 echo
31
32 # La suma de dos elementos de un areglo asignado a un tercer elemento
33 area[5]=`expr ${area[11]} + ${area[13]}`
34 echo "area[5] = area[11] + area[13]"
35 echo -n "area[5] = "
36 echo ${area[5]}
37
38 area[6]=`expr ${area[11]} + ${area[51]}`
39 echo "area[6] = area[11] + area[51]"
40 echo -n "area[6] = "
41 echo ${area[6]}
42 # Este falla porque no se permite a sumar un intero con una cadena.
43
44 echo; echo; echo
45 # -----------------------------------------------------------------
46 # Otro areglo, "area2".
47 # Otra manera de asignar valores a elementos de un areglo...
48 # nombre_de_areglo=( Valor1 Valor2 Valor3 ... )
49
50 area2=( cero uno dos tres cuatro )
51
52 echo -n "area2[0] = "
53 echo ${area2[0]}
54 # Recuerda que el primer elemento se llama [0] no [1]).
55
56 echo -n "area2[1] = "
57 echo ${area2[1]} # [1] es el segundo elemento del areglo.
58 # -----------------------------------------------------------------
59
60 echo; echo; echo
61
62 # -----------------------------------------------
63 # Otro areglo, "area3".
64 # Otra manera de asignar valores a elementos de un areglo...
65 # nombre_de_areglo=([Index_de_Elemneto]=XXX [Index_de_Elemento]=YYY ...)
66
67 area3=([17]=diecisiete [24]=veinte-cuatro)
68
69 echo -n "area3[17] = "
70 echo ${area3[17]}
71
72 echo -n "area3[24] = "
73 echo ${area3[24]}
Resultado
[root@Pridd BashClase]# ./S23.sh area[11] = 23 area[13] = 37 Contenidos del area[51] son UFOs. area[43] = (area[43] sin inicialización ) area[5] = area[11] + area[13] area[5] = 60 expr: non-integer argument area[6] = area[11] + area[51] area[6] = area2[0] = cero area2[1] = uno area3[17] = diecisiete area3[24] = veinte-cuatro [root@Pridd BashClase]#