Lo que quiero hacer es escribir un script que primero inicie un programa y luego le diga que ejecute un montón de comandos y luego salga. Vamos con un ejemplo.
Escribí este script myscript.sh
y no funciona como yo quiero. Lo que hace es simplemente ejecutar gnuplot y esperar a que se cierre y luego ejecuta los otros comandos; lo que obviamente produce errores.
#!/bin/bash
gnuplot
plot sin(x)
pause -1
quit
Supongo que está claro lo que estoy tratando de hacer; si no, házmelo saber en los comentarios.
Respuesta aceptada:
De man gnuplot
o su página de manual en línea:
-p, --persist lets plot windows survive after main gnuplot program
exits.
-e "command list" executes the requested commands before loading the
next input file.
Entonces, lo que probablemente quieras ejecutar es el siguiente comando:
gnuplot -e "plot sin(x); pause -1"
Otras variantes que propuse pero que no son tan útiles fueron:
gnuplot -p -e "plot sin(x); pause -1"
gnuplot -e "plot sin(x)"
gnuplot -p -e "plot sin(x)"