Anuncios Google

Nombres de Variables

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.


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de joserc87

@ 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".

for p in "$@";
do
    echo "$p ";
done

Es la única forma que se me ocurre.


Be pointer my friend...

Dennis Ritchie. Padre de C y cocreador de UNIX.

R.I.P.

 

Imagen de gregocarvajal

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.

Imagen de joserc87

No se porque, pero vale.

No entiendo porque necesitas que sea al estilo C, puesto que es más complicado, pero vale:

p=("$@");
for ((a=1;a<=$#;a+=1))
do
  echo -n "${p[$a]}";
done

Cambia la línea del echo por lo que quieras hacer con los parámetros.

Saludos!


Be pointer my friend...

Dennis Ritchie. Padre de C y cocreador de UNIX.

R.I.P.

 

Imagen de gregocarvajal

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

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.