--run
, which runs the command given on the command-line;--exit-after-running
, which closes automatically QSoas after all the commands specified by--run
were run;--stdout
(since version 2.1), which redirects QSoas's terminal directly to the shell output.
script.cmds
file containing the following commands:generate-buffer -10 10 sin(x) save sin.datand run the following command from your favorite command-line interpreter:
~ QSoas --stdout --run '@ script.cmds' --exit-after-runningThis will create a
sin.dat
file containing a sinusoid. However, if you run it twice, a Overwrite file 'sin.dat' ?dialog box will pop up. You can prevent that by adding the
/overwrite=true
option to save
. As a general rule, you should avoid all commands that may ask questions in the scripts; a /overwrite=true
option is also available for save-buffers
for instance.I use this possibility massively because I don't like to store processed
files, I prefer to store the original data files and run a script to generate the processed
data when I want to plot or to further process them. It can also be used to generate fitted data from saved parameters files. I use this to run automatic tests on Linux, Windows and Mac for every single build, in order to quickly spot platform-specific regressions.
To help you make use of this possibility, here is a shell function (Linux/Mac users only, add to your $HOME/.bashrc
file or equivalent, and restart a terminal) to run directly on QSoas command files:
qs-run () { QSoas --stdout --run "@ $1" --exit-after-running }To run the
script.cmds
script above, just run~ qs-run script.cmds