next up previous
Next: Aritmética Up: El Bourne Shell Previous: Exportando variables

Variables de solo lectura

El Bourne Shell dispone de un comando para proteger el valor de variables de forma que sólo puedan ser leidas:
readonly {variable}*
En el siguiente ejemplo se proteje una variable local, que cuando pasa se convierte en variable de entorno y existe en un nuevo sub-shell, deja de estar protejida:



width 3pt
width .3pt415pt$ nombre=Pepe (creamos una variable local)
$ echo $nombre (presentamos el valor de la variable creada)
Pepe
$ readonly nombre (protegemos la variable)
$ readonly (preguntamos por las variables protegidas)
readonly nombre nombre (es la única variable protegida)

$ nombre=Pepone (intentamos modificarla)
nombre: is read only (pero no podemos)
$ export nombre (la convertimos en variable de entorno)
$ echo $nombre (y su valor no se ha modificado)
Pepe
$ nombre=Pepone (por ser de entorno sigue estando protegida)
nombre: is read only
$ sh (lanzamos un sub-shell)
$ readonly (preguntamos por las variable protejidas)
$ echo $nombre (y la variable sigue inalterada)
Pepe
$ nombre=Pepone (pero puede ser modificada porque es una copia)
$ echo $nombre
Pepone
$ exit (salimod del sub-shell)
$ echo $nombre (y la variable está como la dejamos)
Pepe
$
width .3pt
depth .3pt width -3pt


next up previous
Next: Aritmética Up: El Bourne Shell Previous: Exportando variables
Vicente González Ruiz
1998-07-13