Linux/Unix Shell Scripting - Mostrar el nombre de una variable que contiene otra variable

   
Vista:

Mostrar el nombre de una variable que contiene otra variable

Publicado por Milagros (4 intervenciones) el 28/10/2012 12:03:44
Hola de nuevo tengo otro problema con un script este pide:
Crear un script que reciba un directorio como primer parámetro, y a
continuación una lista de archivos. El script debe validar que los parámetros
recibidos sean realmente archivos y luego copiarlos al directorio recibido.
yo controlo que ponga mas de dos parametros que el primero sea un directorio y mi problema es que cuando quiero ver los parametros con $1 o $2 para que me aparezcan esos ficheros lo hago con un for pero la i del for no me deja poner $i y que me muestre el nombre del fichero sino que si el valor de i es 1 pues pone 1 asi tengo el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if [ $# -gt 1 ]
then
 
if [ -d $1 ]
 
then
 
echo "directorio valido"
 
for (( i = 0; i '<' $#; i++ ))
 
do
 
echo $i   #aqui quiero que me muestre el parametro no 1 2 3 4 ,,,,
 
done
 
else
 
echo "directorio introducido no valido"
 
fi
 
fi
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Mostrar el nombre de una variable que contiene otra variable

Publicado por rafa27 (1 intervención) el 29/10/2012 09:23:19
Hola Milagros, para obtener el valor del parámetro que indicas, tienes que hacerlo así:

1
eval "echo \$$i"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mostrar el nombre de una variable que contiene otra variable

Publicado por Milagros (4 intervenciones) el 29/10/2012 12:18:06
muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar