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. Vayamos con un ejemplo.
Escribí este script myscript.sh
y no funciona como yo quiero. Lo que hace es ejecutar gnuplot y esperar a que se cierre y luego ejecuta los otros comandos; 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.
command-line
bash
scripts
gnuplot
Mihir Gadgil
fuente
fuente
-p
no es de mucha utilidad en este ejemplo; Si presiona Intro en la terminal, gnuplot sale y la ventana de trazado se vuelve completamente no interactiva, excepto por el comando salir. La salida de la tercera simplemente va y viene (no visible en absoluto). El último produce resultados, pero dado que gnuplot se cierra inmediatamente, la ventana de trazado vuelve a ser no interactiva (además, muestra un pequeño trazado de 1 cm cuadrado). Entoncespause -1
es necesario.Una forma es con
-persist
:Otra forma, si necesita preprocesar datos, es con un Bash
Here Document
(verman bash
):fuente
expect
...chmod u+x myscript.gnu
y ejecutar directamente con./myscript.gnu
sólo una nota olvida el[]
en el yrange:set yrange [$minval:$maxval]
.Como se explica en las
man
páginas ,gnuplot
espera la entrada de un archivo de comando en lo que se llama una sesión por lotes . Por ejemplo, puede escribir la líneaplot sin(x)
en un archivomyplot
y luego ejecutarlagnuplot myplot
.Si omite el archivo de comando, como lo hace su script, obtendrá una sesión interactiva .
fuente
El método here-doc mencionado es muy útil con Gnuplot y con muchos otros programas también. Mediante el uso de variables de shell dentro de los comandos de Gnuplot en here-doc, puede parametrizar sus gráficos con entradas de la línea de comandos de su script de shell. Al configurar las cosas con cautela, puede producir en masa parcelas a partir de vastos tesoros de "big data". Solía producir diagramas de dispersión de aspecto consistente con 20,000 a 80,000 puntos POR PARCELA en cientos de análisis de finitos de dinámica estructural utilizando exactamente este método. Es un método muy poderoso.
fuente
Esto puede ayudar
haga clic aquí para más detalles
fuente