Недавно я нашел старый пост на MathGroup, где показано использование недокументированных параметров командной строки -batchinput
и -batchoutput
:
If test.mma contains the following commands:
a=2+2
b=10!;
a+b
then, running Mathematica in batch mode, only output for the first and
third commands goes to stdout:
# math -batchinput -batchoutput < test.mma
4
3628804
Но при попытке воспроизвести это поведение под Windows я получаю только первый вывод, напечатанный в окне консоли. Что я делаю неправильно?
-script
(новая в 8). Однако это не одно и то же,Out=
строк не будут напечатаны. - person Szabolcs   schedule 01.07.2011Out=
не печатаются с параметром-batchoutput
. В чем разница между ним и-script
? - person Alexey Popkov   schedule 01.07.2011-script
вообще ничего не печатается, если только ваша программа не делает какой-либо явный вывод (например, используетPrint
). См. дополнительную информацию: reference.wolfram.com/mathematica/ref/program/ MathKernel.html Просто запуститеmath -script file.m
, чтобы выполнить команды изfile.m
в виде скрипта. - person Szabolcs   schedule 01.07.2011Print
в режиме сценария будет печатать на консоль, хотя в режиме сценария стандартный ввод и вывод не перенаправляются, как сказано на странице документации? - person Alexey Popkov   schedule 01.07.2011$Post
и друзья, похоже, не используются в режиме сценария, поэтому вы не можете взломать его простым способом, чтобы распечатать весь вывод, если это то, что вам нужно. Я думаю, что читал о бесплатных сторонних интерфейсах, которые в основном выполняют то же самое для более ранних версий, но я действительно не помню... - person Szabolcs   schedule 01.07.2011