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.
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:
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:
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.