[comment]: # ({e8144915-e8144915})
# 8. JS

[comment]: # ({/e8144915-e8144915})

[comment]: # ({2b0562f2-b0613168})
#### Обзор

`zabbix_js` — утилита командной строки, которую можно использовать для тестирования встроенного скриптового языка.

Эта утилита выполняет пользовательский скрипт с текстовым параметром и выводит результат. Выполняемые скрипты используют механизм встроенного скриптового языка в Zabbix.

В случае ошибок при компиляции или выполнении `zabbix_js` выведет ошибку в stderr и завершит работу с кодом `1`.

[comment]: # ({/2b0562f2-b0613168})

[comment]: # ({142c0aaf-de3fe561})
#### Использование

```default
zabbix_js -s файл-скрипта -p входной-параметр [-l уровень-журналирования] [-t время-ожидания]
zabbix_js -s файл-скрипта -i входной-файл [-l уровень-журналирования] [-t время-ожидания]
zabbix_js -h
zabbix_js -V
```

`zabbix_js` принимает следующие параметры командой строки:

```default
-s, --script файл-скрипта             Укажите имя файла выполняемого скрипта
                                      Если в качестве имени файла указано значение «-», скрипт будет прочитан из stdin
-i, --input входной-файл              Укажите имя файла входной информации
                                      Содержимое будет передано скрипту как значение (переменная «value»)
                                      Взаимно исключающее с параметром «-p»
                                      Если в качестве имени файла указано значение «-», скрипт будет читать из stdin
-p, --param входной-параметр          Укажите входной параметр: то, что будет передано скрипту как значение (переменная «value»)
                                      Взаимно исключающее с параметром «-i»
-l, --loglevel уровень-журналирования Укажите уровень журналирования
                                      Диапазон: 0-5
-t, --timeout время-ожидания          Укажите время ожидания в секундах
                                      Допустимый диапазон: 1-600 секунд (по умолчанию: 10 секунд)
-h, --help                            Вывод справочной информации
-V, --version                         Вывод номера версии
-w <url веб-драйвера>                 Активирует мониторинг с помощью браузера
```

#### Примеры:

##### Пример 1: Выполнение скрипта, когда значение содержится в переменной

Скрипт (`script-file.js`):

```default
return value;
```

Использование:

```default
zabbix_js -s script-file.js -p example_value
```

Вывод: `example_value`

##### Пример 2: Выполнение скрипта, когда входная информация содержится в файле

Файл со скриптом (`script-file.js`):

```default
return value;
```

Файл с входной информацией (`example.txt`):

```default
Example of input information from the file
```

Использование:

```default
zabbix_js -s script-file.js -i example.txt
```

Вывод: `Example of input information from the file`

##### Пример 3: Выполнение скрипта, когда входные данные читаются из stdin

Файл со скриптом (`script-file.js`):

```default
return value;
```

Использование:

```default
zabbix_js -s script-file.js -i -
```

Входные данные (stdin):

```default
Example of input from stdin
```

Вывод: `Example of input from stdin`

[comment]: # ({/142c0aaf-de3fe561})
