Tengo un pequeño script para iniciar un servidor fluidsynth y luego conectarlo a mi dispositivo midi en mi rasberry (el sistema operativo es raspbian stretch lite).
echo "Starting"
fluidsynth -is -a alsa --gain 3 /usr/share/sounds/sf2/Nice-Keys-B-Plus-JN1.4.sf2 &
echo "Fluidsynth started"
while true; do aconnect -o; if [[ $(aconnect -o ) = *FLUID* ]]; then break; fi; sleep 2; done
aconnect 20:0 128:0
echo "Connected"
La conexión -o fuera de la condición es para la depuración.
Cuando ejecuté normalmente (./startup_fluid_synth.sh) funciona bien: https://pastebin.com/kU0wDu3w
Mi crontab -e dice:
@reboot /home/pi/startup_fluid_synth.sh >> /home/pi/fluid.log
Ahora, cuando reinicio el pi, los scripts se inician, pero el registro muestra claramente que la condición debe cumplirse, pero no lo es: https://pastebin.com/FnxMKBkF
¿Alguna idea de por qué esto podría ser?
Actualización: el registro de errores muestra:
/home/pi/startup_fluid_synth.sh: 4: /home/pi/startup_fluid_synth.sh: [[: not found
¿Es posible que cron no conozca el comando [[]] de alguna manera?
Ya probé eso, ¿cómo resultaría eso en una condición que no se cumple, cuando el comando se ejecuta claramente normalmente?
—
Julian
Parece que el
—
choroba
fluidsynth
comando no ha comenzado. ¿Puedes verificar también la salida de error del script?
Si observa la línea 119 de la segunda pastebin verá que comienza el sintetizador de fluidos, agregaré la salida de error y la publicaré arriba.
—
Julian
aconnect
(y cualquier otro comando externo).