es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo imprimir una variable (cuyo nombre contiene otra variable)

Estaba escribiendo un pequeño script de shell para leer e imprimir líneas de un archivo.

#!/bin/csh

set IN_FILE=$1
set i=1
foreach line ( "`cat $IN_FILE`" )
  set F$i="`echo $line`"
  echo ${F${i}}
  @ i = $i + 1
end

Al ejecutarlo, obtengo el siguiente error:

Falta '}'.

Me preguntaba cómo imprimir una variable que contiene otra variable en su nombre.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para mostrar una variable que contiene otra variable en su nombre, puedes utilizar llaves para referenciar la variable interna. En el script proporcionado, el error proviene de la línea:

     echo ${F${i}}
    

    Esta línea intenta utilizar el valor de la variable “i” como parte del nombre de una nueva variable “F”, pero le falta la llave de cierre. Para solucionar el error, puedes agregar la llave que falta de la siguiente manera:

     echo ${F${i}}
    

    Esto hará referencia al valor de la variable “i” dentro de las llaves, y luego utilizará ese valor como nombre de la nueva variable “F”. Las llaves externas se utilizan para evaluar la expresión interna antes de mostrar el valor resultante.

Comments are closed.