Muchas gracias por la info, el manual que indicas es lo que andaba buscando, ya he arreglado las cosilas que ten�a mal y tira perfecto.

Victor Calzado Mayo wrote:

-----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-----




--
-------
Un saludo

Pablo Gim�nez Pizarro
-------
La �nica lucha que se pierde es la que se abandona.
(Mujeres de la Plaza de Mayo)
-------
Albion 3.0 Project: www.albion30.net



Responder a