Интерфейс командной строки
Использование аргументов внутри скриптов
При запуске скрипта с помощью julia
в него можно передать дополнительные аргументы:
$ julia script.jl arg1 arg2...
Эти дополнительные аргументы командной строки передаются в глобальной константе ARGS
. Имя самого скрипта передается в глобальной константе PROGRAM_FILE
. Обратите внимание: константа ARGS
также задается при вычислении выражения Julia, переданного через командную строку с помощью параметра -e
(см. выходные данные справки julia
ниже), но константа PROGRAM_FILE
будет пустой. Например, вывести только аргументы, переданные в скрипт, можно так.
$ julia -e 'println(PROGRAM_FILE); for x in ARGS; println(x); end' foo bar
foo
bar
Этот код можно также поместить в скрипт и запустить:
$ echo 'println(PROGRAM_FILE); for x in ARGS; println(x); end' > script.jl $ julia script.jl foo bar script.jl foo bar
С помощью разделителя --
можно отделить аргументы командной строки, предназначенные для файла скрипта, от аргументов, предназначенных для Julia:
$ julia --color=yes -O -- script.jl arg1 arg2..
Дополнительные сведения о написании скриптов Julia см. в разделе Скрипты.
Параллельный режим
Julia можно запустить в параллельном режиме с помощью параметра -p
или --machine-file
. Параметр -p n
запускает дополнительно n
рабочих процессов, а --machine-file file
— рабочий процесс для каждой строки в файле file
. Компьютеры, указанные в аргументе file
, должны быть доступны по протоколу ssh
без пароля, причем среда Julia должна быть установлена в расположении текущего хоста. Каждый компьютер указывается в следующей форме: [count*][user@]host[:port] [bind_addr[:port]]
. По умолчанию user
— это текущий пользователь, а port
— стандартный SSH-порт. count
— это количество рабочих процессов, порождаемых на узле (по умолчанию 1). Необязательный элемент bind-to bind_addr[:port]
определяет IP-адрес и порт, которые другие рабочие процессы должны использовать для подключения к данному процессу.
Файл запуска
Код, который должен выполняться при каждом запуске Julia, можно поместить в файл ~/.julia/config/startup.jl
:
$ echo 'println("Greetings! 你好! 안녕하세요?")' > ~/.julia/config/startup.jl
$ julia
Greetings! 你好! 안녕하세요?
...
Обратите внимание: каталог ~/.julia
должен существовать после первого запуска Julia, однако папку ~/.julia/config
и файл ~/.julia/config/startup.jl
может потребоваться создать вручную.
Чтобы код запуска выполнялся только в REPL Julia, используйте atreplinit
в startup.jl
:
atreplinit() do repl
# ...
end
Параметры командной строки для Julia
Так же как программы на perl
и ruby
, запускать код Julia с указанием параметров можно разными способами:
julia [switches] -- [programfile] [args...]
Ниже приведен полный список параметров командной строки, доступных при запуске Julia (символом «*» помечено значение по умолчанию, если оно есть; параметры с пометкой «($)» могут инициировать предварительную компиляцию пакета).
Параметр | Описание |
---|---|
|
Выводит сведения о версии. |
|
Выводит параметры командной строки (содержимое данной таблицы). |
|
Редкие параметры, не отображаемые при использовании параметра |
|
Устанавливает каталог |
|
Запуск с использованием указанного файла образа системы |
|
Задает расположение исполняемого файла |
|
Загружает файл |
|
Включает или отключает обработчики сигналов Julia по умолчанию. |
|
Использует машинный код из образа системы, если он доступен. |
|
Включает или отключает инкрементную предварительную компиляцию модулей. |
|
Включает или отключает использование кэширования машинного кода в форме pkgimages. |
|
Вычисляет выражение |
|
Вычисляет выражение |
|
Немедленно загружает файл |
|
Активирует N потоков; при значении |
|
Запускает N дополнительных локальных рабочих процессов (N — целое число). При использовании значения |
|
Запускает процессы на узлах, перечисленных в |
|
Интерактивный режим; REPL выполняется, |
|
Запуск без сообщений: баннер не выводится, предупреждения REPL скрываются. |
|
Включает или отключает загрузочный баннер. |
|
Включает или отключает цветной текст. |
|
Загружает или сохраняет историю. |
|
Включает или отключает предупреждения о синтаксисе и выводе методов из использования (при использовании значения |
|
Включает или отключает предупреждения о перезаписи методов. |
|
Включает или отключает предупреждение о неоднозначной области верхнего уровня. |
|
Ограничивает использование функций ЦП на уровне |
|
Задает уровень оптимизации (уровень 3, если параметр |
|
Задает нижнюю границу для оптимизации на уровне модулей. |
|
Задает уровень создаваемой отладочной информации (уровень 2, если параметр |
|
Определяет, разрешено ли встраивание, включая переопределение объявлений |
|
Определяет, выполняются ли проверки границ всегда, никогда или с учетом объявлений |
|
Включает или отключает небезопасные оптимизации значений с плавающей запятой (переопределяет объявление |
|
Подсчитывает количество выполнений строк исходного кода (если значение не указано, используется значение |
|
Подсчитывает выполнения, но только в файлах, находящих по указанному пути или в указанном каталоге. Для выбора этого параметра требуется префикс |
|
Добавляет информацию о покрытии кода в файл трассировки LCOV (имя файла поддерживает токены формата). |
|
Подсчитывает количество байтов, выделяемых каждой строкой исходного кода (если значение не указано, используется значение user). |
|
Подсчитывает байты, но только в файлах, находящих по указанному пути или в указанном каталоге. Для выбора этого параметра требуется префикс |
|
Запускает сеанс отчета об ошибках. Может использоваться для запуска REPL, выполнения скрипта или вычисления выражений. Сначала пытается использовать файл BugReporting.jl, установленный в текущей среде. Если попытка не удается, применяется последний совместимый файл BugReporting.jl. Дополнительные сведения см. в описании параметра |
|
Включает или отключает JIT-компилятор либо запрашивает исчерпывающую или минимальную компиляцию. |
|
Создает объектный файл (включая данные образа системы). |
|
Создает файл данных образа системы (.ji). |
|
Удаляет строки docstring и информацию о расположении исходного кода из образа системы. |
|
Удаляет промежуточное представление (IR) скомпилированных функций. |
|
Создает неоптимизированный битовый код LLVM (.bc). |
|
Создает битовый код LLVM (.bc). |
|
Создает файл сборки (.s). |
|
Создает добавочный (неполный) файл выходных данных. |
|
Выводит на экран операторы предварительной компиляции для методов, компилируемых во время выполнения, или сохраняет их по указанному пути. |
|
Принудительно генерирует код в режиме создания образа |
Совместимость: Julia 1.1
В Julia 1.0 при использовании параметра |