O Mércores 28 Maio 2008 10:45, Javier Terceiro escribiu: > Hola, > > tengo un script que hace uso de los comandos find y mv. En caso de que > el comando mv de un fallo a la hora de realizar el movimiento de un > archivo, se envía un correo de advertencia y se cancela el proceso. Me > gustaría ahora que dicho correo llevase más información. Básicamente > el tipo de error que se produjo, para saber que pasó. > la forma de comprobar que fallo es sabiendo el valor devuelto a la variable > $? > > mv $i /archive/ 2> /dev/null > if [ $? != 0 ] > then > (echo -e > "-------------------------------------------------------------------------- >--" ;\ > echo "Se ha producido un error al intentar mover el directorio $i > de $(hostname -f)" > echo -e > "-------------------------------------------------------------------------- >--\n") > > |\ > > mail $destinatario -s "Fail to move $i directory" > fi > > La idea es que ese email vaya con más información del error. Alguien > sabe como puedo sacar la información del error sin ser con $? o cómo > con $? puedo posteriormente saber que tipo de error sucedió. > > Muchas gracias desde ya. > > -- > Un saludo, > > Javier.
En lugar de desviar el error a /dev/null puedes desviarlo a un tarchivo temporal (puedes usar mktemp) y luego enviar el contenido por mail. TMP_FILE=`mktemp` mv $i /archive/ 2> $TMP_FILE mail $destinatario -S "Fail to move $i directory: `cat $TMP_FILE`" -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

