Estoy tratando de correr
WID=`xdotool search "Inbox" | head -1`
xdotool windowactivate $WID
xdotool key Up
cada vez stdout de
$ CAMEL_DEBUG=all evolution
cede "inicio inactivo".
He creado este script, que hace lo que quiero, pero solo una vez, no lo hace cada vez que se muestra el "inicio inactivo", sino solo una vez y se detiene. No sé cómo bash lo suficientemente bueno como para obligarlo a repetirse sin cesar.
exec 3< <(CAMEL_DEBUG=all evolution)
while read line; do
case "$line" in
*"starting idle"*)
echo "'$line' contains staring idle"
WID=`xdotool search "Inbox" | head -1`
xdotool windowactivate $WID
xdotool key Up
break
;;
*)
echo "'$line' does not contain starting idle."
;;
esac
done <&3
exec 3<&-
Gracias.
break
no es suficiente, entonces es probable que sea un problema de almacenamiento en búfer. (Para la mayoría de los comandos, la salida se almacena en búfer a menos que vaya a un terminal).expect
Se puede utilizar una herramienta para sortear estos problemas. Echa un vistazo a eso.Podrías probar algo un poco más complejo. Primero redirigir la salida de
evolution
a un archivo:Entonces haz un sin fin
while
bucle que lee el archivo y reacciona si se encuentra una cadena:fuente