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