URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 73487
[ Назад ]

Исходное сообщение
"Dhcpd.conf - функция execute()"

Отправлено rere , 13-Апр-07 11:09 
Привет.

Кто разбирался с сабжом? В последнем бета релизе isc dhcpd, функция execute() уже встроенна, и не надо никаких патчей. Проблема в том, что она не передаёт никаких параметров внешнему приложению. Есть пример такого типа:

on commit {
        set rc = execute("/usr/local/bin/script", "commit", binary-to-ascii(16, 8, ":", substring(hardware, 1, 6)), binary-to-ascii(10, 8, ".",leased-address), binary-to-ascii(10, 32, "",encode-int(lease-time, 32)));
}

В теории, при commit он должен передать по очереди: "commit", мак, айпи, и время аренды как параметры для некого /usr/local/bin/script.
А на практике, ничего не передаётся.
И если даже пример упростить до вот такого:

on commit {
        set rc = execute("/usr/local/bin/script", "hello");
}

То всё равно не передаётся этот hello как параметр.
Гугл молчит как рыба, не знаю куда рыть. Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Dhcpd.conf - функция execute()"
Отправлено rere , 13-Апр-07 11:12 
Забыл добавить, вот кусок мануала:

  execute(command-path, data-expr1 ... data-exprN);

          External  command  execution  is  made  possible  through execute();
          expressions.  These expressions take a variable number of arguments,
          where  the  first is the command name (full path or only the name of
          the executable) and is followed by zero or more are data-expressions
          whose  values  will  be  evaluated  and passed as external arguments
          (assumed to be text strings suitable for use as a command-line argu-
          ment).