Hola!
EL tema es que he hecho un script y me
funciona, pero curiosamente me salta un error de vez en cuando (segun lo que haga):
Código:
samy@samylaptop:~/Escritorio$ sh motiontest.sh
[: 42: 1: unexpected operator
(la línea 42 es la última del programa, no se si se refiere a la línea ese 42... en caso de qué si, que falta para finalizar el script?)
No se a que se puede referir el error, a qué puede ser? Abajo teneis el script por si quereis echarle un ojo, es bastante simple.
Luego tengo otra pregunta. Cuando ejecuto el comando del script (el $motion) no me lo ejecuta en segundo plano aunque lo tenga puesto como
Si desde la terminal ejecuto mi script, me sale toda la salida del motion y cualquier cosa que ponga detrás (por ejemplo, un echo "alguna cosa"), no lo hace, ya que como está ejecutando el motion, el script no continúa. Cómo debería hacerlo para que se ejecutara el motion(llamado desde el script) y, a la vez, continuara el script? tengo que redireccionar obligatóriamente la salida (y que no sea la pantalla) para que pueda continuar?
Muchas gracias por vuestra ayuda!
Código:
#!/bin/sh
# Begin editable region
RUTAMCONTROL="/home/samy/Escritorio/motioncontrol"
RUTAMACTUAL="/home/samy/Escritorio/motionactual"
RUTAMLOG="/home/samy/Escritorio/motionlog"
# End editable region
# Variables globales
fecha=`date`
# Fin variables globales
echo "$fecha Empezando comprobación motion" >> $RUTAMLOG
STATUS=`cat $RUTAMCONTROL`
if [ $STATUS -eq 0 ]
then
ENCENDIDO=`ps aux| awk '{if($11 == "motion") print 1;}'`
if [ $ENCENDIDO -eq 1 ]
then
echo " $fecha Apagando motion" >> $RUTAMLOG
killall motion
sleep 3
echo "0" > $RUTAMACTUAL
else
echo " $fecha Motion se mantendrá parado" >> $RUTAMLOG
fi
else
if [ $STATUS -eq 1 ]
then
ENCENDIDO=`ps aux| awk '{if($11 == "motion") print 1;}'`
if [ $ENCENDIDO -eq 1 ]
then
echo " $fecha Motion se mantendrá encendido" >> $RUTAMLOG
else
echo "1" > $RUTAMACTUAL
echo " $fecha motion ha sido encendido" >> $RUTAMLOG
`motion &`
fi
else
echo "$fecha Error en la lectura del motion control" >> $RUTAMLOG
fi
fi