-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Tuesday 17 June 2003 15:42, Pablo Gim�nez Pizarro wrote:
> Que tal lista, a ver me han surgido un par de dudillas mientr�s
> programaba un shell script.
> El script es en sh.
> La finalidad del script es adaptar el entorno para la ejecuci�n de un
> comando.
> Para ello primero el script puede recibir un n�mero indeterminado de
> par�metros, entre 1 y 6 normalemente, todos estos son para el comando
> que luego lanzaremos por lo tanto, necesito meter todos en una variable
> para as� a la hora de ejecutar el comado poder indicarle los par�tros
> facilmente. �C�mo puedo hacer esto de una forma m�s o menos limpia, hay
> alguna forma de pasar todos los par�metros a partir de 0($0), es decir,
> $1, $2, $3, etc..., a una variable sin tener que recorrerlos todos? si
debbie:/home/vcalzado# cat prueba.sh
#!/bin/bash
#todos los argumentos
echo "$@"
debbie:/home/vcalzado# bash prueba.sh espacio reservado para toda su
publicidad
espacio reservado para toda su publicidad
> esto no es posible la �nica opci�n que quedar�a ser�a ir iterando por
> los par�mtros hasta que ya ni haya m�s definidos??.(Algo as� como un
> while [ -z $X], la X se sustituir�a por el n�mero que tocase.
>
#!/bin/bash
echo "$#"
while [ 0 -ne $# ]
do
echo $1
shift
done
Con lo que es bastante sencillo ir metiendo los argumentos en su
correspondiente posici�n...
pero realmente lo que quieres es algo como....
/usr/share/doc/util-linux/examples/getopt-parse.bash.gz
que te permite hacer las cosas que tu quieres controlando ademas errores y
muchas cosas mas, para mas informaci�n man getopt, eval no tiene man
aparentemente pero tambien te ser� muy �til
> La otra duda estriba en que necesito leer un fichero que en su primera
> l�nea contiene los nombres de otros ficheros a procesar, se me ocurri�
> hacer algo as� como:
> #!/bin/sh
>
> BACKUPLIST='/exports/.backup.list'
> BACKFILES=''
>
> if [ -e $BACKUPLIST ]; then
> echo "Existe Lista"
si te fijas...... estas haciendo una expansi�n de la variable y no
declar�ndola, que esto no es perl.....
> $BACKFILES=`cat < $BACKUPLIST` # Los nuevos backups.
y al estar la variable vacia tienes
=`cat < $BACKUPLIST`
justo tu error :))
> fi
>
> echo "Files: $BACKFILES"
>
> exit 0
>
> Pero el script anterior me devuelve el siguiente error:
> cleo1:/tmp# ./p.sh
> Existe Lista
> ./p.sh: =/home: No existe el fichero o el directorio
> Files:
> cleo1:/tmp#
>
> El fichero /exports/.backup.list existe y contiene:
> /home
>
> Alguna luz sobre este error, gracias.
naaaaaaaaaaaaaa, hoy estamos de oferta , te vamos a regalar tres farolas :)))
http://www.tldp.org/LDP/abs/html/index.html
un saludo
Victor
- --
Lo que la naturaleza no da....
O'reilly & Associates no lo prestan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE+8BzEEzqHF8R72ekRAk6jAJ4wlWm40lmbK6FvZIcPkfj1lyd8tQCdGu71
iwQQvGYh/MMpdIc4p1rSKyM=
=0NCd
-----END PGP SIGNATURE-----