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.

sh o bash?

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

Con bash creo recordar que con $* accedias a todos los parametros, busca en el man.

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"
   $BACKFILES=`cat < $BACKUPLIST` # Los nuevos backups.
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.


Prueba con:

BACKUPLIST='/exports/.backup.list'
BACKFILES=''

if [ -e $BACKUPLIST ]; then
   echo "Existe Lista"
   # aqui hay dos cambios
   BACKFILES=`cat $BACKUPLIST` # Los nuevos backups.
fi

echo "Files: $BACKFILES"

exit 0



Saludos
--
                                  ////
                                 (@ @)
---------------------------oOO----(_)----OOo------------------------
        Los pecados de los tres mundos desapareceran conmigo.
Alexis Roda - Universitat Rovira i Virgili - Reus, Tarragona (Spain)
--------------------------------------------------------------------

Reply via email to