La instruccion declare en Bash

A pesar de que rara vez se usa, la instrucción declare (declarar) de bash tiene un par de opciones bien útiles. Puede marcar variables como de solo lectura y tambien marcarlas como si solo sean números.

Para declarar una variable como de solo lectura, usa la siguiente instrucción:

declare -r nombrevariable

Mira el siguiente código:

#!/bin/bash

a=13
declare -r a
echo $a
a=14
echo $a

Cuando 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 varname

Mira este código:

#!/bin/bash

declare -i a
a=12
echo $a
a=hola
echo $a

Cuando 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 $b

Cuando se ejecuta muestra:

$ sh arr.sh
12
13

Para mas información revisa la pagina man de bash (buscar por "declare").

Fuente.

Comentarios

Entradas populares de este blog

Habilitar ñ o tildes en un teclado de laptop usando Ubuntu

Todo sobre el espacio SWAP en Linux

Crear, Compilar y Ejecutar un Programa en Haskell