Modificar una variable de sólo lectura

última actualización el 28 de enero de 2009, 01:26 por Carlos-vialfa
Publicado por Carlos-vialfa

Método 1


Una variable declarada como de sólo lectura no puede ser modificada en el proceso en curso. Sin embargo, si la variable es exportada a un shell hijo, podrá ser modificada.

#!/bin/bash

if [ "$PROC_PID" != "$PPID" ]; then
  export PROC_PID=$$
  var="mype"
  echo "initial $var"

  declare -r var

  export var
  $0 & # proceso hijo
else
  echo "antes $var"
  var="lami20j"
  echo "despues $var"
fi

Método 2


Otra método consiste en utilizar una “indirección” o “referencia indirecta ” (ver “man bash” para mayor información).

# Declaración de variable de solo lectura
$ readonly Z="Y"
$ echo $Z
Y

# Prueba de eliminacion
$ unset Z
-l: unset: Z: cannot unset: readonly variable

# Prueba de reemplazo
$ Z=W
-l: Z: readonly variable

# Declaracion de una variable indirecta
$ Y=W
$ echo "$Y"
W

# Referencia indirecta de la variable
$ echo "${!Z}"
W

$


PD: El artículo original fue escrito por lami20j, contribuidor de CommentCaMarche
Mejores respuestas para « Modificar una variable de sólo lectura » en :
Variables del entorno Ver Variables del entorno Una variable del entorno es un valor dinámico cargado en la memoria, que puede ser utilizado por varios procesos que funcionan simultáneamente. En la mayoría de los sistemas operativos, la ubicación de algunas bibliotecas o de...
Guia de uso del Shell para principiantes Ver SHELL BASH – GUIA DE USO – Nivel Principiante Introducción Llamado a los miembros de Kioskea II. ¿Qué es el Shell? III. Cómo acceder a la línea de comandos IV. Las consolas virtuales Ejemplo: Acceder a la consola 3 desde la interfaz...
¿Cómo abrir un archivo PPS? (presentación PowerPoint) Ver¿Cómo leer un archivo PPS? Los archivos PPS son diapositivas creadas con el programa PowerPoint. Son simplemente archivos PPT a los que se les ha cambiado la extensión a PPS. Podemos abrirlos: Con el programa Microsoft PowerPoint, de pago. Con...
Cómo leer un archivo línea por línea VerCómo leer un archivo línea por línea Preámbulo Bucle while Sintaxis Ejemplo Trucos Complemento Bucle for Sintaxis Preámbulo Uno de los errores más comunes cuando se aprende a utilizar los scripts “bash” bajo GNU/Linux para leer un...
[Bash] La variable de entorno PATH VerLa variable de entorno PATH I. Preámbulo II. ¿Qué es el shell? III. Definición IV. Sección de análisis V. Añadir un directorio a la variable PATH VI. Y luego... I. Preámbulo En los sistemas GNU/Linux queramos o no, nos convertimos en...
Descargar Spesoft Image Converter VerCon esta aplicacion podras cambiar el formato de tu coleccion de fotos digitales y modificar varios aspectos de una manera muy simple y rapida. Gracias a su asistente no tendras ningun tipo de problema para utilizarlo , te guiara en todo el proceso...
Descargar NHancer VernHancer es un panel alternativo para tarjetas graficas nVidia con la que se pueden modificar varios parametros del funcionamiento y la configuracion de este dispositivo hardware. Te permitira crear distintos perfiles hardware para que puedas...
Memoria de sólo lectura (ROM) VerMemoria de sólo lectura (ROM) Existe un tipo de memoria que almacena información sin necesidad de corriente eléctrica; se trata de la ROM (Read Only Memory, o Memoria de Sólo Lectura), a veces denominada memoria no volátil, dado que no se borra...