Si invoco a Octave para trazar algo, necesita que el mensaje interactivo siga ejecutándose y muestre la trama.
Cuando se ejecuta desde la línea de comandos, la --persist
opción obligará a Octave a mantenerse abierto después de que se ejecuten todos los comandos de Octave, para que pueda ver y manipular la trama.
--persist Vuélvete interactivo después de --eval o leyendo desde ARCHIVO.
Sin embargo, cuando invoco Octave desde un script de Shell no interactivo, no puede ingresar al modo interactivo, no reacciona a la --persist
opción de línea de comando ni al pause()
comando dentro de los scripts de Octave.
¿Hay alguna manera de permitir que Octave permanezca interactivo de manera invisible, si se invoca desde un script de shell?
Respuesta1
Intento reproducir tu problema pero no fue posible. Hice estos archivos de pruebaoct.txt
x = -10:.1:10;
y = sin(x).*exp(-abs(x));
plot(x,y)
y go.sh
(y lo hago ejecutable con chmod u+x go.sh
)
#!/bin/bash
octave -q --persist oct.txt # It calls the octave and remain as interactive
echo " Now we continue " # Here the script continue when you exit from octave
sleep 5 # Do some stuffs
exit # It exits
Cuando lo ejecuto se ./go.sh
inicia octave
y cuando salgo continúa con el script.
Cuando agrego pause()
o pause(10)
al final oct.txt
y llamo octava con el comando, octave -q oct.txt &
se comporta como se supone:
- el guión comienzaoctavaen segundo plano y continúa
- eventualmente el guión termina dejando vivas las ventanas de octava
Desafortunadamente las ventanas deoctavaescongeladodel pause
comando y no tan útil.
- Fiesta GNU, versión 4.3.11
- GNU Octava, versión 3.8.1