Muy buenas Scenebeteros, tengo un problema con la programacionen BASH (linux)
Lo que necesito es lo siguiente:
for ((a=1; a<=$#; a+=1))
do
echo "AQUI ESTA EL PROBLEMA"
done
Lo que necesito es mostrar los parametros que se le pasan al script, por ejemplo si ejecutamos:
script.sh hola pepe
El resultado debe ser:
hola
pepe
Lo que yo necesito en el ECHO es que, si a=1 que muestre la variable $1, si a=2 muestra $2 y asi.
No me vale usar la variable $* , esa es la gracia del script.
Espreo que puedan ayudarme. Gracias por adelantado.
Un saludo.
@ en lugar de *
Al evaluar $@ te da un array con todos los argumentos. Por ejemplo si los argumentos son 3: a "b c" d, la primera posición tendrá "a", la segunda "b c" (con espacio incluido) y la tercera "d".
Es la única forma que se me ocurre.
Dennis Ritchie. Padre de C y cocreador de UNIX.
R.I.P.
Si, pero no
Esa funciona, pero la gracia esta en que hay que usar la otra estructura de for, la de inicializacion-condicion-incremento
Gracias por responder de todos modos.
No se porque, pero vale.
No entiendo porque necesitas que sea al estilo C, puesto que es más complicado, pero vale:
Cambia la línea del echo por lo que quieras hacer con los parámetros.
Saludos!
Dennis Ritchie. Padre de C y cocreador de UNIX.
R.I.P.
Gracias!
Perfoecto, justo lo que buscaba
Lo necesitaba de tipo C porque era un ejercicio de clase, pero ninguno conseguiamos dar con la tecla.
Justo hoy el profe a dado la solucion mientras lo ejecutaba
Muchas gracias JoseRC
Un saludo