Para declarar una variable como de solo lectura, usa la siguiente instrucción:
declare -r nombrevariableMira el siguiente código:
#!/bin/bash
a=13
declare -r a
echo $a
a=14
echo $aCuando lo ejecutas, la segunda asignación va a fallar:
$ sh decl.sh
13
decl.sh: line 6: a: variable de solo lectura
Para declarar una variable que acepte solo valores numéricos (integer), usa la siguiente instrucción:
declare -i varnameMira este código:
#!/bin/bash
declare -i a
a=12
echo $a
a=hola
echo $aCuando lo ejecutas, la segunda asignación asignara cero a la variable en vez de la cadena "hola" que aparece en la instrucción:
$ sh decl2.sh
12
0
La instrucción declare tiene otras opciones; la opcion -a puede ser usada para declarar variables de tipo array (arreglo), pero no es necesario. Todas las variables pueden ser usadas como array sin una definición especifica. Parece ser que todas las variables son arrays y que la asignación sin esa opcion es igual que asignar con "[0]".
Mira el siguiente código:
#!/bin/bash
a=12
echo ${a[0]}
b[0]=13
echo $bCuando se ejecuta muestra:
$ sh arr.sh
12
13
Para mas información revisa la pagina man de bash (buscar por "declare").
Fuente.
No hay comentarios:
Publicar un comentario