On Wed, 25 Apr 2001, Walter Villafuerte wrote:
> De las tres soluciones
>
> 1. Puede ser, solo que se corren comandos del shell, tal como rm y se
> tiene que saber si se se ejecuto bien o no.
En shell, lo m�s sencillo es usar if. Podr�as, por ejemplo,
#!/bin/sh
# Programa de prueba. Hace blabla y blabla y borra los archivos
# resultante. Guarda un estado de 0 en /var/direc/estado si todo sale
# bien, o un 1 si algo sale mal.
comando
comando
comando
if rm /direcc/archivo; then
ESTADO=0
else
ESTADO=1
fi
comando
comando
comando
if [ $ESTADO = 0 ]; then
if rm /direc/otroarchivo; then
ESTADO=1
fi
fi
comando
comando
comando
echo $ESTADO > /var/direc/estado
exit $ESTADO
Ojo: el exit $ESTADO no es necesario, pero podr�as ocuparlo si quer�s
hacer algo con el script desde shell directamente.
> 2. Como modifico yo el xterm para que haga eso.
Habr�a que entrarle al c�digo fuente (no lo tengo a mano en este momento,
pero freshmeat.net te lo puede dar) y buscar qu� hace con la opci�n -e.
Debe estar llamando a exec(3) o alguno de sus familiares. Todos ellos
(execl, execlp, execle, execv, execvp de acuerdo con el manual) devuelven
el estado del proceso nuevo de alguna manera. Es muy probable que xterm
est� descartando el error retornado. El arreglo consistir�a en capturar el
error y devolverlo, en vez del estado que devuelve xterm (hay que buscar
d�nde hace exit(3) y usar una variable para devolver el estado que
requer�s).
> 3. Se podria, pero como dijiste no funciona en todos los casos.
Perd�n por la indiscreci�n: exactamente, �qu� est�s tratando de hacer? Tal
vez haya una soluci�n m�s sencilla.
Saludos,
-alf
--
�Desea desuscribirse? Escriba a [EMAIL PROTECTED] con
el tema "unsubscribe".