Важно! Создание пользовательских сценариев требует знания команд оболочки Bash и формата JavaScript Object Notation (JSON). Если вы не знакомы с командной оболочкой Bash, хороший учебник можно найти по ссылке http://www.tldp.org/LDP/abs/html. Спецификация JSON доступна на сайте http://www.json.org.
Файлы сценария
Сценарий должен быть расположен в указанных ниже каталогах на машине, в которой установлен мастер создания загрузочных носителей:
Сценарий должен состоять из по меньшей мере трех файлов:
Этот файл и все другие включенные в сценарий дополнительные файлы (например, посредством использования команды с точкой) должны быть расположены в подпапке bin. В сценарии укажите дополнительные пути к файлам в виде /ConfigurationFiles/bin/<файл>.
#!/bin/sh
. /ConfigurationFiles/bin/variables.sh
. /ConfigurationFiles/bin/<script_file>.sh
. /ConfigurationFiles/bin/post_actions.sh
Структура autostart.json
Объект высшего уровня
Пара |
Требуется |
Описание |
|
|---|---|---|---|
Имя |
Тип значения |
||
displayName |
string |
Да |
Имя сценария, которое будет отображаться в Bootable Media Builder. |
description |
string |
Нет |
Описание сценария, которое будет отображаться в Bootable Media Builder. |
timeout |
number |
Нет |
Время ожидания (в секундах) для меню загрузки перед запуском сценария. Если пара не указана, время ожидания составит десять секунд. |
variables |
объект |
Нет |
Любые переменные для <файл_сценария>.sh, которые вы хотите сконфигурировать посредством Bootable Media Builder. Значение должно быть указано в виде набора следующих пар: идентификатор строки переменной и объект переменной (см. в таблице ниже). |
Объект переменной
Пара |
Требуется |
Описание |
|
|---|---|---|---|
Имя |
Тип значения |
||
displayName |
string |
Да |
Имя переменной, использованное в <файл_сценария>.sh. |
type |
string |
Да |
Тип элемента управления, отображенный в Bootable Media Builder. Этот элемент управления используется для конфигурирования значения переменной. Список всех поддерживаемых типов см. в таблице ниже. |
description |
string |
Да |
Метка элемента управления, отображаемая над элементом управления в Bootable Media Builder. |
default |
строка, если type является string, multiString, password или enum номер, если type является number, spinner или checkbox |
Нет |
Значение по умолчанию элемента управления. Если пара не указана, значением по умолчанию будет являться пустая строка или ноль, в зависимости от типа элемента управления. Значением по умолчанию для флажка может быть 0 (флажок не установлен) или 1 (флажок установлен). |
order |
number (не отрицательное) |
Да |
Порядок элементов управления в Bootable Media Builder. Чем выше значение, тем ниже расположен элемент управления относительно других элементов управления, указанных в autostart.json. Изначальным значение должен быть 0. |
min (только для spinner) |
number |
Нет |
Минимальное значение элемента управления «счетчик» в поле счетчика. Если пара не указана, значением будет 0. |
max (только для spinner) |
number |
Нет |
Максимальное значение элемента управления «счетчик» в поле счетчика. Если пара не указана, значением будет 100. |
step (только для spinner) |
number |
Нет |
Значение шага элемента управления «счетчик» в поле счетчика. Если пара не указана, значением будет 1. |
items (только для enum) |
массив строк |
Да |
Значения для раскрывающегося списка. |
required (для string, multiString, password и enum) |
number |
Нет |
Указывает, может ли значение элемента управления быть пустым (0) или нет (1). Если пара не указана, значение элемента управления может быть пустым. |
Тип элемента управления
Имя |
Описание |
|---|---|
string |
Текстовое поле высотой в одну строку и без ограничений ширины, используемое для введения или редактирования коротких строк. |
multiString |
Текстовое поле высотой в несколько строк и без ограничений ширины, используемое для введения или редактирования коротких строк. |
password |
Текстовое поле высотой в одну строку и без ограничений ширины, используемое для безопасного введения пароля. |
number |
Текстовое поле высотой в одну строку, с допустимым введением только числовых значений, используемое для введения или редактирования чисел. |
spinner |
Текстовое поле высотой в одну строку, с допустимым введением только числовых значений, используемое для введения или редактирования чисел, с элементом управления «счетчик». Также называется полем счетчика. |
enum |
Стандартный выпадающий список с фиксированным набором предварительно указанных значений. |
checkbox |
Поле флажка с двумя положениями — флажок установлен и флажок не установлен. |
Указанный ниже пример autostart.json содержит все возможные типы элементов управления, которые могут быть использованы для конфигурирования переменных для файла <файл_сценария>.sh.
{
"displayName": "Autostart script name",
"description": "This is an autostart script description.",
"variables": {
"var_string": {
"displayName": "VAR_STRING",
"type": "string", "order": 1,
"description": "This is a 'string' control:", "default": "Hello, world!"
},
"var_multistring": {
"displayName": "VAR_MULTISTRING",
"type": "multiString", "order": 2,
"description": "This is a 'multiString' control:",
"default": "Lorem ipsum dolor sit amet,\nconsectetur adipiscing elit."
},
"var_number": {
"displayName": "VAR_NUMBER",
"type": "number", "order": 3,
"description": "This is a 'number' control:", "default": 10
},
"var_spinner": {
"displayName": "VAR_SPINNER",
"type": "spinner", "order": 4,
"description": "This is a 'spinner' control:",
"min": 1, "max": 10, "step": 1, "default": 5
},
"var_enum": {
"displayName": "VAR_ENUM",
"type": "enum", "order": 5,
"description": "This is an 'enum' control:",
"items": ["first", "second", "third"], "default": "second"
},
"var_password": {
"displayName": "VAR_PASSWORD",
"type": "password", "order": 6,
"description": "This is a 'password' control:", "default": "qwe"
},
"var_checkbox": {
"displayName": "VAR_CHECKBOX",
"type": "checkbox", "order": 7,
"description": "This is a 'checkbox' control", "default": 1
}
}
}
Вот так все вышеописанное выглядит в Bootable Media Builder.
