scilab главный файл-сценарий для запуска Scilab'а и различных инструментов

## Синтаксис

    scilab <Options>

## Аргументы

Список опций запуска Scilab'а -- включая опции для разработчиков --, которые могут быть отображены в терминале операционной системы через опцию `--help`.

                unix_w(SCI+"/bin/scilab --help 2>&1")

    --> unix_w(SCI+"/bin/scilab --help 2>&1")
    Usage: Scilab <options>
          -args arg1 arg2..: Send directly some arg1 arg2 .. data to the session.
                             arg1 arg2 .. values can then be read through sciargs().
          -e Instruction   : Execute the scilab instruction given in Instruction argument.
                             -e and -f arguments are mutually exclusive.
          -f File          : Execute the scilab script given in File argument.
                             -e and -f arguments are mutually exclusive.
          -quit            : force scilab exit after execution of script from -e or -f argument.
                             Flag ignored if it is not used with -e or -f argument and when Scilab is in a pipe.
          -l lang          : Change the language of scilab (default : en_US).
          -nw              : Enable console mode.
          -nwni            : Enable terminal mode.
          -ns              : Do not execute etc/scilab.start.
          -nouserstartup   : Do not execute user startup files (SCIHOME/scilab.ini|.scilab).
          -noatomsautoload : Do not autoload eligible ATOMS modules.
          -nb              : Do not display the banner (no banner).
          -scihome <dir>   : Force SCIHOME to <dir>.
          -texmacs         : Option to use Scilab from documents through http://texmacs.org.
          -version         : Display the Scilab version (no session opened).
          -display Display : Set the display to the X server Display (XWindow systems only).
                             unix:0.0 is the default.
          --help           : Display this help.

    Developer Trace arguments:
          --parse-trace    : Display bison state machine evolution.
          --AST-trace      : Display ASCII-art AST to be human readable.
          --pretty-print   : Display pretty-printed code, standard Scilab syntax.

    Developer Timer arguments:
          --AST-timed      : Time each AST node.
          --timed          : Time global execution.

    Developer Debug arguments:
          --no-exec        : Only do Lexing/parsing do not execute instructions.
          --context-dump   : Display context status.
          --exec-verbose   : Display command before running it.
          --timeout delay  : Kill the Scilab process after a delay.

Они описаны ниже.

-args arg№1 arg№2 ..

  Эта опция позволяет переслать данные в сессию Scilab'а:

  - Последовательность данных, разделённых одним или несколькими пробелами.
  - Выражение между двойными кавычками является единым куском данных.
  - Чтобы внести двойные кавычки в данные, запишите `\"` вместо `"`.
  - Одинарная кавычка `'` является обычным символом. У неё нет специального значения.

  Внутри открытой сессии эти данные могут быть получены виде раздельных строк с помощью sciargs().

  Пример:

      C:\Users\Me> C:\SCIdir\bin\scilab -nw -nb -noatomsautoload -args "Привет, %USERNAME%" 1.2345 \"%cd%\"

      // Внутри открытой сессии:
      a = sciargs()
      i = find(a=="-args")
      a(i+1)
      evstr(a(i+2))*2
      "Эта сессия была запущена из " + a(i+3)

      --> // Внутри открытой сессии:
      --> a = sciargs()
       a  =
      ! c:\SCIdir\bin\WScilex-cli.exe !
      ! -nb                           !
      ! -noatomsautoload              !
      ! -args                         !
      ! Привет, Иван                  !
      ! 1.2345                        !
      ! "C:\Users\Me"                 !

      --> i = find(a=="-args")
       i  =
          5.

      --> a(i+1)
       ans  =
       Привет, Иван

      --> evstr(a(i+2))*2
       ans  =
          2.469

      --> "Эта сессия была запущена из " + a(i+3)
       ans  =
       Эта сессия была запущена из "C:\Users\Me"

  Заметим здесь, что `>scilab -nw` переведена в `Wscilex-cli.exe` с помощью пакетного файла `scilab`, таким образом, что опция "-nw" не возвращается с помощью `sciargs()` (смотри ниже).

  Безопаснее использовать `-args` в качестве последней опции командной строки.
-display Display

  Только для использования в системах Xwindow для установки специфичного дисплея X-сервера. Дисплей по умолчанию -- unix:0.0.

  `-display` можно сократить как `-d`.

-e Instructions

  По окончании запуска всей сессии, этот вариант

  - устанавливает текущий рабочий каталог в каталог оболочки, из которой Scilab был запущен. Пожалуйста, смотрите пример, приведенный здесь ниже для опции `-f`. Затем,

  - эта опция выполняет инструкции Scilab `Instructions`, указанные в строке. Пример :

        OS> scilab -nw -e  "disp(\"Привет\"); a=%pi+%i; disp(exp(a)); exit;" -nb

  Опции `-e` и `-f` взаимоисключающие.
-f file

  Если эта опцпия используется, то в начале сессии Scilab, после исполнения файлов запуска Sciblab и пользовательских файлов запуска, и после установки пользовательских настроек, включая настройки рабочей директории,

  - текущая рабочая директория Scilab устаровлена в каталоге оболочки, из которой Scilab был запущен. Например,

         D:\users\me\scilab\dev> C:\SCIdir\bin\scilab -f ..\test.sce

    будет исполнять `cd("D:\users\me\scilab\dev")`.

  - Scilab-сценарий `file` выполнен. Если относительный путь используется (по умолчанию `.\` или как `..\` в примере выше), то он отсылается в новую рабочую директорию Scilab.

  Файл с расширением `.xcos` будет открыт в Xcos.

-quit

  Эта опция заставляет Scilab всегда выходить после инструкций, переданных вместе с опцией `-e`, или сценарий, на который ссылается оция `-f`, будет исполнен, даже в случае ошибки времени исполнения. Эта опция всегда должна использоваться в режиме пакетной обработки. Она игнорируется, если нет ни опции `-e` ни опции `-f`.

-l lang

  Если есть эта опция, то она фиксирует язык пользователя. lang может быть: ca_ES de_DE en_US es_ES fr_FR ja_JP pt_BR ru_RU zh_CN zh_TW

  Другими возможными значениями `lang` (для совместимости) являются `'fr'` для французского и `'en'` для английского языка, или `'pt'` для бразильского португальского. По умолчанию язык английский.

  В Windows в режимах "-nw" или "-nwni" выбранный шрифт терминала должен быть TrueType для поддержки символов UTF-8, например Monospaced (лучший выбор, если доступен), или Consolas или Lucida Console.

  В некоторых системах для правильного отображения шрифтов в кодировке UTF-8 локали должны быть откомпилированы.

-nb

  "no banner" : Если есть эта опция, то сообщение о загрузке Scilab'а не будет отображаться.

-ns

  "No Startup files" : Если есть эта опция, то файл запуска `SCI/etc/scilab.start` и пользовательские файлы запуска `SCIHOME/.scilab` и `SCIHOME/scilab.ini` не исполняются.

  Эта опция отключит многие возможности Scilab'а (используйте, если вы знаете что делаете).

-nouserstartup

  Если есть эта опция, то пользовательские файлы запуска `SCIHOME/.scilab` и `SCIHOME/scilab.ini` не исполняются.

-noatomsautoload

  Если есть эта опция, то ранее установленные модули ATOMS не загружаются для данной сессии.

-nw

  Если есть эта опция,то Scilab запускается как командная строка с улучшенными возможностями (графические окна, экспорт, xcos, scinotes, справочная система, ...).

  конвейеры доступны во всех операционных системах (см. примеры для дополнительной информации).

  Дистрибутив Scilab также предоставляет специальный бинарный файл, который делает то же, что и `-nw`:

  - Windows: `WScilex-cli.exe`.
  - Linux и MacOS: `scilab-adv-cli` (Интерпретатор Scilab с улучшенной командной строкой).
-nwni / -nogui
  Этот режим не загружает виртуальную машину Java (быстрее загружается и использует меньше памяти).
  Если есть эта опция, то Scilab запускается как командная строка без улучшенных возможностей (графических окон, экспорта, xcos, scinotes, справочной системы, ...).

  конвейеры доступны во всех операционных системах (см. примеры для дополнительной информации).

  Дистрибутив Scilab также предоставляет специальный бинарный файл, который делает то же, что и `-nwni`:

  - Windows: `Scilex.exe`.
  - Другие: `scilab-cli` (Интерпретатор Scilab с улучшенной командной строкой).
-scihome dir

  Переключает SCIHOME в директорию `dir`. Если путь содержит пробелы, то он должен быть заключён в двойные кавычки (не одинарные!). Если `dir` является относительным путём, то `dir` добавляется к родительской стандартной папке SCIHOME.

  В Windows: | %USERPROFILE%\AppData\Roaming\Scilab\`dir`
  В Linux/MacOS: | ~/.Scilab/`dir`

--texmacs

  Эта опция используется, когда Scilab используется в качестве вычислительного интерфейса внутри научного редактора TeXmacs, используя ATOMS-модуль TeXmacs. Этот модуль может быть предварительно установлен в Scilab с помощью `atomsInstall('texmacs')`.

-version

  Эта опция отображает версию продукта в терминале. Сессия Scilab не открывается.

## Дополнительные опции для Unix/Linux и Mac OS X

Совет: используйте эти параметры в дереве исходников Scilab'а.

-debug

  Запуск Scilab'а в отладчике gdb.

  Определите переменную `SCILAB_GDB_OPT` для добавления пользовательских настроек в gdb.

-debug-rr

  Запуск Scilab'а в rr.

-debug-kdbg

  Запуск Scilab'а в kdbg.

-profiling

  Запуск Scilab'а в valgrind.

  Определите переменную `SCILAB_VALGRIND_OPT` для добавления пользовательских настроек в valgrind (и отмены существующих опций valgrind).

-profiling-visu

  Запуск Scilab'а в callgrind.

  Определите переменную `SCILAB_VALGRIND_OPT` для добавления пользовательских настроек в callgrind (и отмены существующих опций callgrind).

-electric-fence

  Запуск Scilab'а в Electric Fence.

## Описание переменных окружения

SCIVERBOSE

  Если есть эта переменная, то файл-сценарий начального запуска Scilab'а покажет отладочную информацию начального запуска. Используется главным образом для сообщения об ошибках и отладки.

JAVA_HOME

  Определяет какую Java использовать. Например, `JAVA_HOME=/usr/lib/jvm/java-7-openjdk/ scilab` запустить Scilab с Java 7.

SCI_DISABLE_TK

  Отключение возможностей Tk (не не Tcl).

SCI_JAVA_ENABLE_HEADLESS

  Включить Java Headless VM (т. е. без возможностей графического пользовательского интерфейса).

## Опции виртуальной машины Java

Опции, описаные ниже бесполезны и будут удалены, если используется опция `-nwni`.

Начиная с Scilab 5.0, графический пользовательский интерфейс (GUI) и встроенная документация основаны на возможностях Java. В некоторых случаях может оказаться важным править опции JVM (Виртуальная Машина Java).

Эти опции доступны в файле SCI/etc/jvm_options.xml. По умолчанию в конфигурационном файле легко доступны следующие три опции:

-XmxXXXm

  Эта опция устанавливает количество памяти, доступной для виртуальной Java-машины. По умолчанию выделено 256 МБ. Если вы меняете это значение, убедитесь, что оно не превышает память системы.

  Это значение можно менять в меню настроек.

-Djava.compiler=JIT

  Эта опция с аргументом JIT задействует оперативный Java-компилятор (JIT). Он включается по умолчанию. NONE отключает оперативный Java-компилятор и чрезвычайно уменьшает производительность.

-verbose:jni / -Xcheck:jni

  Эти опции задействуют больше проверок и выход из вызовов интерфейса для прямого доступа из Java. Эти опции полезны в случае отладки и по умолчанию отключены, поскольку они уменьшают производительность.

Доступно очень много опций. Они могут улучшить производительность, поменять взгляды и отношение, изменить способы управления памятью... Смотрите: http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp или http://blogs.sun.com/watt/resource/jvm-options-list.html.

## Примеры

    # Запустим Scilab в режиме профилирования без прикрепления gdb после каждого SIGSEGV.
    # Мы находимся в оболочке Bash
    export SCILAB_VALGRIND_OPT="--db-attach=no --log-file=myfile.txt"
    scilab -profiling

    # Запустим Scilab в режиме отладки без остановки после каждого SIGSEGV
    # Сначала запишем небольшой файл команд
    echo "handle SIGSEGV nostop" > debug.txt
    # Теперь установим пользовательские опции
    # Мы находимся в оболочке Bash
    export SCILAB_GDB_OPT="--command=debug.txt"
    # Запуск Scilab'а в режиме отладки
    scilab -debug

    # В GNU/Linux, Mac OS X или Unix:
    $ echo "disp(%pi)"|scilab-cli
    или
    $ echo "disp(%pi)"|scilab -nwni

    # Открыть только окно справки Scilab:
    $ scilab-adv-cli -e "help()"
    или
    $ scilab -nw -e "help()"

    # Scilab может быть использован написания сценариев:
    echo "if 1&lt;>2 then exit(99) end"|scilab-cli
    echo $?

## Смотрите также

- начальный запуск
- sciargs
- getpid
- getenv
- getversion
- getscilabmode
- consolebox
- exit
- preferences
- TeXmacs

## История

5.2.0 Реализована конвейеризация. Добавлена опция -l lang
5.4.0 добавлено -noatomsautoload. Динамическая память Java может быть установлена в настройках.
5.4.1 введены отдельные сценарии scinotes и xcos. См.SEP #87.
6.0.0

- Пользовательские опции:
  - Добавлены: `--help`, `-quit`
  - Удалены: `-mem`
- Добавлены опции разработчика:
  - `--parse-trace`, `--AST-trace`, `--pretty-print`
  - `--AST-timed`, `--timed`
  - `--no-exec`, `--exec-verbose`, `--timeout delay`, `--context-dump`.

6.0.1 Добавлена опция `-scihome`.