Пакетная обработка
Другим способом работы со Scilab является вызов его из командной строки операционной системы. Некоторые параметры командной строки приведены в табл. 1.
Вне зависимости от используемой операционной системы, исполняемые файлы размещаются в каталоге scilab-<version>/bin, где <version> представляет номер установленной на компьютере версии Scilab (например, '5.2.1'). Аргументы командной строки должны следовать за именем исполняемого файла, как будет показано ниже. Параметр -nw позволяет отключить отображение окна консоли, при этом ввод-вывод команд и результатов будет происходить в текстовом режиме. Опция -nwni позволяет запустить Scilab без графических библиотек. В этом случае функции отображения (например вывод графиков) будут заблокированы, а попытка их использовать приведет к ошибке.
-e instruction | выполнить инструкцию |
-f file | выполнить скрипт, записанный в файле |
-1 lang | выбрать язык интерфейса: 'fr' для французского, 'en' для английского, 'ru' для русского, по умолчанию языком интерфейса является английский. Для установки языка по умолчанию, используемого при загрузке Scilab без задания параметра -1, применяется команда setdefaultlanguage. После выполнения этой команды программу необходимо перезапустить для отображения меню на выбранном языке. Команда get language позволяет узнать, какой язык используется программой в данный момент. |
-mem N | установить начальный размер стека |
-ns | отключить выполнение скрипта scilab. start, при загрузке Scilab |
-nb | отключить вывод приветствия Scilab |
-nouserstartup | не исполнять пользовательские файлы SCIHOME/.scilab или SCIHOME/scilab.ini |
-nw | запустить Scilab в режиме командной строки с подключением дополнительных возможностей (например отображения графиков) |
-nwni | запустить Scilab в режиме командной строки без дополнительных возможностей |
Таблица 1. Параметры командной строки Scilab.
В следующем примере для Windows мы запустим файл Scilex. ехе с параметром -nwni. Далее попытаемся выполнить команду plot и убедимся, что графические возможности Scilab отключены:
D:\Programs\scilab-5.2.0\bin>Scilex.exe –nwni
-----------------------------------------------
scilab-5.2.0 Consortium Scilab (DIGITEO) Copyright (c) 1989-2009 (INRIA) Copyright (c) 1989-2007 (ENPC)
----------------------------------------------
Startup execution:
loading initial environment -->plot()
!-- error 4 Undefined variable: plot
Наиболее полезным параметром командной строки является -/, позволяющий выполнить команды, содержащиеся в некотором файле. Такой метод называется пакетной обработкой. Предположим, что файл myscript2.sce содержит следующие строки (команда quit применяется для выхода из Scilab):
disp("Hello World!")
quit()
По умолчанию в интерактивном режиме Scilab ожидает от пользователя ввода следующей команды. Команды quit используется для завершения сессии и выхода из Scilab. Для дальнейшей демонстрации предположим, что мы создали каталог "C:\scripts" и поместили в него файл скрипта "myscript2,sce". Следующий пример демонстрирует результат выполнения данного скрипта с использованием опции -/. Заметьте, что в данном случае используется полный путь к исполнимому файлу Scilex.exe.
C:\scripts>D:\Programs\scilab-5.2.0\bin\Scilex.exe -f mys cript2.see
-----------------------------------------------------------
scilab-5.2.0 Consortium Scilab (DIGITEO) Copyright (c) 1989-2009 (INRIA) Copyright (c) 1989-2007 (ENPC)
--------------------------------------------------------------
Startup execution:
loading initial environment Hello World ! С : \scripts >
Любая строка, начинающаяся символами //, считается комментарием и игнорируется интерпретатором Scilab. Для того чтобы проверить, что по умолчанию Scilab остается в интерактивном режиме, мы закомментируем команду quit, используя рассмотренный синтаксис:
disp("Hello World!") //quit()
Если теперь набрать в консоли Scilab инструкцию " scilex -f myscript2. see", Scilab отобразит строку "Hello World!" и перейдет в режим ожидания дальнейшего ввода со стороны пользователя. Теперь, чтобы выйти, необходимо ввести команду quit вручную.