Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Bucle Until Y Los Argumentos Posicionales
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Bucle Until Y Los Argumentos Posicionales 
 
Hola!.

Creando un bucle until, se me ocurrió que se podía mostrar los argumentos posicionales.
Ejemplo, primero hice un bucle que cuenta de 5 hasta 1.

#!/bin/bash

# Ejemplo de bucle Until

variable=5
until [ $variable -lt 1 ];
do
        echo "variable vale: " $variable
        let variable-=1
done
 


Entonces usando el mismo programa quise a la vez mostrar los argumentos posicionales, pero no me funciona (por ahora).

#!/bin/bash

# Ejemplo de bucle Until
# variable almacena el número de argumentos

variable=$#
until [ $variable -lt 1 ];
do
        echo "La variable vale: " $variable
#       Esta linea os muestro los cambios abajo para que veáis los efectos que hace
        let variable-=1
done
 


$# Nos da el número de argumentos pasados
Si sabemos que los argumentos posicionales son $0 $1 $1 $3, que son los valores que le pasamos como argumentos a nuestro
script.

Si hago esto:

echo "El argumento vale: "$"$variable"
 


La salida es esta:
Citar:

jack@claudio:~/Scripts/bucles$ ./BucleUntil2.sh  pepe juan manuel
La variable vale:  3
El argumento vale: 3
La variable vale:  2
El argumento vale: 2
La variable vale:  1
El argumento vale: 1


Si hago esto:
echo "El argumento vale: "$$variable
 


Aun más raro, mostrando un valor.
Citar:

La variable vale:  3
El argumento vale: 3876variable
La variable vale:  2
El argumento vale: 3876variable
La variable vale:  1
El argumento vale: 3876variable


Continuare buscando información.
Creo que me toca visitar videotutoriales también.

Saludos
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Bucle Until Y Los Argumentos Posicionales 
 
Citar:

Aun más raro, mostrando un valor.


$$ nos da el PID del Shell que ejecuta el Script. Por eso sale ese número

Los parámetros

Fuente:

http://es.kioskea.net

Podéis probar a hacer:

echo $$
 


Citar:

jack@claudio:~/Scripts/bucles$ ps
  PID TTY          TIME CMD
 4265 pts/2    00:00:00 bash
 5365 pts/2    00:00:00 ps
jack@claudio:~/Scripts/bucles$ echo $$
4265


Saludos
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
última edición por Shell el Jueves, 05 Marzo 2015, 21:28; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Bucle Until Y Los Argumentos Posicionales 
 
Lo he resuelto con un array.

#!/bin/bash

# variable almacena el número de argumentos
variable=$#

# El contenido de argumentos debe ir entre paréntesis
argumentos=($*)

# Declaramos argumentos como un array
declare -a argumentos

until [ $variable -lt 1 ];
do
        echo "La variable vale: " $variable
        echo "El argumento vale: " ${argumentos[$variable-1]}
        let variable-=1
done
 


La salida fue:
Citar:

jack@claudio:~/Scripts/bucles$ ./BucleUntil3.sh pepe juan manolo
La variable vale:  3
El argumento vale:  manolo
La variable vale:  2
El argumento vale:  juan
La variable vale:  1
El argumento vale:  pepe


Tengo que ver como se hace para que las cadenas queden mejor presentadas.  

Saludos
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
última edición por Shell el Jueves, 05 Marzo 2015, 22:07; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Bucle Until Y Los Argumentos Posicionales 
 
Citar:
until [ $variable -lt 1 ];


Sin llegar al fondo del tema, es lógico que $variable te de número de argumento... si $variable fuese pepe ¿Cómo ibas a compararlo con 1?
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Bucle Until Y Los Argumentos Posicionales 
 
Shordi:

Efectivamente en este caso, variable es un número.
Por eso lo asigne a variable, el número de argumentos que se le pasa al script. $#

El problema realmente es hacer que con un bucle distinto a For, mostrar los parámetros.
El For del Shell, no es el típico For. Es un For Each. Trabaja sobre argumentos, no sobre números.

Por otro lado tu sabes que $0 es el nombre del script y después de esté. $1,$2,$3...son los argumentos.

Realmente llevo 3 días con estas cosas. Estoy algo verde. Siempre he tirado de gambas para hacer estas cosas.
No es fácil dar los primeros pasos. Idea tenía, pero no suelo usar Scripting Shell, es como si le quitase
protagonismo a gambas. Nos acostumbramos a hacer las cosas de una manera, cuando existen siempre
alternativas. Como siempre, el problema del tiempo es obvio

Aprender esto, me ha llevado a unos día a dejar estudiar Python y gambas, claro.
Demasiados frentes abiertos. Aunque no me canso de hacerlo.  
Hay que bucear mucho para encontrar a veces las soluciones.

Saludos
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
última edición por Shell el Viernes, 06 Marzo 2015, 10:50; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Chooser No Acepta Mas De 62 Argumentos :( v3ctor General 12 Viernes, 07 Septiembre 2018, 14:49 Ver último mensaje
Shell
No hay nuevos mensajes Argumentos Al Programa Desde El IDE gatoviejo General 3 Viernes, 28 Julio 2017, 18:13 Ver último mensaje
v3ctor
No hay nuevos mensajes Como Son Los Parametros O Argumentos En Py... v3ctor Python 2 Viernes, 25 Agosto 2017, 15:45 Ver último mensaje
v3ctor
No hay nuevos mensajes Bucle Do While Shell General 2 Martes, 09 Julio 2013, 21:34 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario