[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 script-file -p input-param [-l log-level] [-t timeout]
zabbix_js -s script-file -i input-file [-l log-level] [-t timeout]
zabbix_js -h
zabbix_js -V
```

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

```default
-s, --script script-file          Указать имя файла скрипта для выполнения
                                  Если в качестве имени файла указан "-", скрипт будет прочитан из stdin
-i, --input input-file            Указать имя файла с входными данными
                                  Содержимое будет передано скрипту в качестве значения
                                  Взаимоисключающий с -p
                                  Если в качестве имени файла указан "-", скрипт будет прочитан из stdin
-p, --param input-param           Указать входной параметр: переменную, которая будет передана скрипту в качестве значения
                                  Взаимоисключающий с -i
-l, --loglevel log-level          Указать уровень журналирования
                                  Диапазон: 0-5
-t, --timeout timeout             Указать тайм-аут в секундах
                                  Допустимый диапазон: 1-600 секунд (по умолчанию: 10 секунд)
-h, --help                        Показать справочную информацию
-V, --version                     Показать номер версии
-w <webdriver 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
Пример входных данных из файла
```

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

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

Вывод: `Пример входных данных из файла`

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

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

```default
return value;
```

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

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

Ввод (stdin):

```default
Пример ввода из stdin
```

Вывод: `Пример ввода из stdin`

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