GNU/Linux >> Tutoriales Linux >  >> Linux

¿Crear variable usando valor de variable como parte del nuevo nombre de variable?

Estoy tratando de crear una nueva variable utilizando el valor de una variable existente como parte del nombre de la variable.

filemsg"$word1"=" "

También lo he probado

filemsg$word1=" "

filemsg${word1}=" "

en todos los intentos obtengo lo siguiente cuando se ejecuta esa línea,

cicserrors.sh[45]: filemsgCICS= : not found [No such file or directory]

Respuesta aceptada:

Usa eval :

filemsgCICS=foo
word1=CICS
eval "echo "$filemsg$word1"" # => foo
eval "filemsg$word1=bar"
echo "$filemsgCICS" # => bar

pero piénselo dos veces si realmente lo necesita de esta manera.

Otra forma en ksh93 es usar referencias de nombre:

word1=CICS
nameref v=filemsg$word1
v="xxx" 
echo "$filemsgCICS" # => xxx

Para trucos aún más desagradables como ese, mira aquí.


Linux
  1. Apache – ¿Crear un certificado SSL *.local?

  2. Linux:¿la barra inclinada (/) forma parte del nombre del directorio raíz de Linux?

  3. ¿Crear un archivo vacío con un nombre de variable en un script?

  4. ¿Crear numerosos directorios usando Mkdir?

  5. Pantalla Gnu:¿Cambio de nombre de nueva ventana?

Configurar la conexión de la base de datos usando la variable de entorno en Rails

¿Usa “${a:-b}” para la asignación de variables en scripts?

Crear una base de datos MySQL en cPanel

Configurar un VPS nuevo

Cómo extraer un valor (en una fila y columna específicas) de un archivo y asignarlo a una nueva variable

¿Encontrar un archivo que coincida con cierto patrón y dar ese nombre de archivo como valor a una variable en el script de Shell?