Thread View: es.comp.os.linux.programacion
9 messages
9 total messages
Started by Olaf El Blanco
Sat, 25 Feb 2006 10:42
BASH SCRIPT
Author: Olaf El Blanco
Date: Sat, 25 Feb 2006 10:42
Date: Sat, 25 Feb 2006 10:42
13 lines
1188 bytes
1188 bytes
Quiero que mientras haya parametros, haga una determinada cosa. #!/bin/bash # La variable i es el primer parametros i=1; #mientras las variables $1 $2 $3 tengan valores, que se ejecute el bucle. while $i do echo -e "Posicion $i\n" let i++ done De antemano Gracias!
Re: BASH SCRIPT
Author: Reinoso G.
Date: Sat, 25 Feb 2006 11:33
Date: Sat, 25 Feb 2006 11:33
12 lines
1511 bytes
1511 bytes
El otro d�a, Olaf El Blanco nos estuvo contando: > Quiero que mientras haya parametros, haga una determinada cosa. �Que cuando le pases par�metros haga una cosa y cuando no se los pases haga otra? �O que cuando un par�metro sea distinto de cero haga una cosa y si no otra? Bueno no me ha quedado claro qu� quieres hacer, pero por si te vale: una variable que no ha sido inicializada es igual a "" as� que con eso puedes comparar. Saludos.
Re: BASH SCRIPT
Author: Gonzalo Pérez de Olaguer Córdoba
Date: Sat, 25 Feb 2006 11:40
Date: Sat, 25 Feb 2006 11:40
14 lines
1462 bytes
1462 bytes
Hola Olaf El Blanco <einherjar@yahoo.es> el Sat, 25 Feb 2006 11:42:40 +0100 escribiste: > Quiero que mientras haya parametros, haga una determinada cosa. while [ $# -gt 0 ]; do echo "$1" echo "$@" shift done -- Gonzalo Pérez de Olaguer Córdoba <gpoc@iies.es> PGP key 2861C704 --- F206 5671 6789 425D 111C 1302 214F 1934 2861 C704
Re: BASH SCRIPT
Author: AnimAlf
Date: Sat, 25 Feb 2006 13:15
Date: Sat, 25 Feb 2006 13:15
30 lines
1839 bytes
1839 bytes
El ds 25 de 02 del 2006 a les 11:42 +0100, en/na Olaf El Blanco va escriure: > Quiero que mientras haya parametros, haga una determinada cosa. > > #!/bin/bash > # La variable i es el primer parametros > i=1; > #mientras las variables $1 $2 $3 tengan valores, que se ejecute el bucle. > while $i > do > echo -e "Posicion $i\n" > let i++ > done if [ $# -eq 0 ]; then echo "Necesito más!!"; exit -1; fi; for i in $(seq 1 $#) do echo -e "en la posicion $i: $1"; shift; done -- AnimAlf AnimAlf@engendro.sytes.net http://www.fut.es/~acl/AnimAlf Personal Experimental WebServer: http://www.engendro.sytes.net LiNUX ReGiSteRED UseR #91326 PublicPGPkeyID 0xB3B41215 Is the truth out there? Coalición europea contra el correo comercial no solicitado: http://www.euro.cauce.org/es
Re: BASH SCRIPT y GREP
Author: Olaf El Blanco
Date: Sat, 25 Feb 2006 13:49
Date: Sat, 25 Feb 2006 13:49
24 lines
1691 bytes
1691 bytes
Voy hacer mas claro...
Queria hacer:
Mientras haya mas parametros...
imprime el parametro Y la posici�n
reduce en uno la cantidad de parametros.
Y mi problema viene cuando quiero imprimir $x (el nombre del parametro de la
x posici�n) Aqu� hice algo parecido a "${i}" donde i es una variable igual
a $#. Pero el resultado es desastroso.
De antemano gracias y disculpen por lo basico.
Al querer aprender a programar en BASH me dije, �porque no buscar todos los
archivos bash de mi sistema y aprender de los mejores?
Entonces:
Hice algo parecido a: grep '^#!.*/bin/bash' 2>/dev/null 1>listado_ejemplo
No obtengo los resultados que quiero. Yo quiero un listado con las
ubicaciones de cada archivo script bash.
Re: BASH SCRIPT
Author: Pascal Bourguignon
Date: Sat, 25 Feb 2006 17:05
Date: Sat, 25 Feb 2006 17:05
35 lines
2029 bytes
2029 bytes
Olaf El Blanco <einherjar@yahoo.es> writes:
> Quiero que mientras haya parametros, haga una determinada cosa.
>
> #!/bin/bash
> # La variable i es el primer parametros
> i=1;
> #mientras las variables $1 $2 $3 tengan valores, que se ejecute el bucle.
> while $i
> do
> echo -e "Posicion $i\n"
> let i++
> done
>
> De antemano Gracias!
Ademas de los otros ejemplos de como iterar sobre todos los parametros
se puede usar:
for arg ; do
echo otro parametro
done
No necesitas un $i
Ahora, si lo que quieres es indexar los parametros, puedes hacer una indireci�n:
i=2
echo ${i}� parametro: ${!i}
--
__Pascal Bourguignon__ http://www.informatimago.com/
"This statement is false." In Lisp: (defun Q () (eq nil (Q)))
Re: BASH SCRIPT
Author: Olaf El Blanco
Date: Sat, 25 Feb 2006 21:12
Date: Sat, 25 Feb 2006 21:12
12 lines
1347 bytes
1347 bytes
AnimAlf <AnimAlf@engendro.sytes.net> el Sábado, 25 de Febrero de 2006 14:15 wrote: > if [ $# -eq 0 ]; then echo "Necesito más!!"; exit -1; fi; > for i in $(seq 1 $#) > do > echo -e "en la posicion $i: $1"; shift; > done Muy bueno, pero me puedes explicar lo que hace el $sec 1 $#? Gracias
Re: BASH SCRIPT
Author: AnimAlf
Date: Sat, 25 Feb 2006 23:03
Date: Sat, 25 Feb 2006 23:03
36 lines
2093 bytes
2093 bytes
El ds 25 de 02 del 2006 a les 22:12 +0100, en/na Olaf El Blanco va
escriure:
> AnimAlf <AnimAlf@engendro.sytes.net> el Sábado, 25 de Febrero de 2006 14:15
> wrote:
>
> > if [ $# -eq 0 ]; then echo "Necesito más!!"; exit -1; fi;
> > for i in $(seq 1 $#)
> > do
> > echo -e "en la posicion $i: $1"; shift;
> > done
> Muy bueno, pero me puedes explicar lo que hace el $sec 1 $#?
> Gracias
seq es una orden se shell al estar entre parentesis se ejecuta y
devuelve una sequencia entre 1 y $# es para ejecutarlo como el for
tradicional
man seq
creo que quieres conseguir es:
find . -type f -exec grep -l "[^#]bash$" {} \;
Saludos
--
AnimAlf AnimAlf@engendro.sytes.net
http://www.fut.es/~acl/AnimAlf
Personal Experimental WebServer: http://www.engendro.sytes.net
LiNUX ReGiSteRED UseR #91326
PublicPGPkeyID 0xB3B41215
Is the truth out there?
Coalición europea contra el correo comercial no solicitado:
http://www.euro.cauce.org/es
Re: BASH SCRIPT y GREP
Author: Alberto Cabello Sanchez
Date: Thu, 02 Mar 2006 12:58
Date: Thu, 02 Mar 2006 12:58
16 lines
1355 bytes
1355 bytes
Olaf El Blanco wrote: > > Al querer aprender a programar en BASH me dije, �porque no buscar todos los > archivos bash de mi sistema y aprender de los mejores? > > Entonces: > > Hice algo parecido a: grep '^#!.*/bin/bash' 2>/dev/null 1>listado_ejemplo > grep -l muestra (s�lo) los ficheros coincidentes. As�, grep -rl '^#!.*/bin/bash' /usr/bin/ 2>/dev/null 1>listado_ejemplo hace lo que quieres en /usr/bin
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads