Ce que je veux faire, c'est écrire un script qui lance d'abord un programme, puis lui dit d'exécuter un tas de commandes, puis de quitter. Allons-y avec un exemple.
J'ai écrit ce script myscript.sh
et il ne fonctionne pas comme je le souhaite. Ce qu'il fait est simplement d'exécuter gnuplot et d'attendre qu'il se ferme, puis d'exécuter les autres commandes; ce qui produit évidemment des erreurs.
#!/bin/bash
gnuplot
plot sin(x)
pause -1
quit
Je suppose que ce que j'essaie de faire est clair; sinon, faites le moi savoir dans les commentaires.
command-line
bash
scripts
gnuplot
Mihir Gadgil
la source
la source
-p
ne soit pas très utile dans cet exemple; si vous appuyez sur entrée dans le terminal, gnuplot se ferme et la fenêtre de tracé devient complètement non interactive, à l'exception de la commande quit. La sortie du 3ème vient juste et va (pas visible du tout). Le dernier produit une sortie, mais puisque gnuplot se ferme immédiatement, la fenêtre de traçage est à nouveau non interactive (également, elle montre un minuscule tracé de 1 carré). C'est doncpause -1
nécessaire.Une façon consiste à
-persist
:une autre façon, si vous avez besoin de prétraiter des données, est avec un Bash
Here Document
(voirman bash
):la source
expect
...chmod u+x myscript.gnu
et exécuter directement avec./myscript.gnu
Juste un petit mot vous oubliez[]
dans le yrange:set yrange [$minval:$maxval]
.Comme expliqué dans les
man
pages ,gnuplot
attend l'entrée d'un fichier de commandes dans ce qu'on appelle une session batch . Vous pouvez par exemple écrire la ligneplot sin(x)
dans un fichiermyplot
puis l'exécutergnuplot myplot
.Si vous omettez le fichier de commandes, comme le fait votre script, vous obtiendrez une session interactive .
la source
La méthode here-doc mentionnée est très utile avec Gnuplot et avec de nombreux autres programmes également. En utilisant des variables shell dans les commandes Gnuplot de la documentation ici, vous pouvez paramétrer vos tracés avec des entrées de la ligne de commande de votre script shell. En configurant mal les choses, vous pouvez produire en masse des tracés à partir de vastes trésors de «big data». J'avais l'habitude de produire des diagrammes de dispersion d'apparence cohérente avec 20 000 à 80 000 points PAR PLOT dans des centaines d'analyses finies de dynamique structurale en utilisant exactement cette méthode. C'est une méthode très puissante.
la source
Cela pourrait aider
Cliquez ici pour plus de détails
la source