Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2015-01-04 10:30:16 +0400

Maikl Gravatar Maikl

extensions.ael вызов bash скрипта с проверкой ответа от него

Доброе утро, камрады!

Всех с наступившим Новым Годом!

Не могу придумать как вызвать в входящем контексте внешний bash скрипт, и проверить ответ (в некотором случае скрипт возвращает 1), вот при 1 нужно выполнить какое то действие. Понятно что вызов через System(/путь/к/скрипту), а проверка через if, но вот как именно это организовать, прошу не пинать сильно ногами, а ткнуть носом в пример кода, (с) я не волшебник, я только учусь.

Заранее спасибо.

extensions.ael вызов bash скрипта с проверкой ответа от него

Доброе утро, камрады!

Всех с наступившим Новым Годом!

Не могу придумать как вызвать в входящем контексте внешний bash скрипт, и проверить ответ (в некотором случае скрипт возвращает 1), вот при 1 нужно выполнить какое то действие. Понятно что вызов через System(/путь/к/скрипту), а проверка через if, но вот как именно это организовать, прошу не пинать сильно ногами, а ткнуть носом в пример кода, (с) я не волшебник, я только учусь.

Заранее спасибо.

++ по совету virus_nее http://www.voip-info.org/wiki/view/Asterisk+func+shell добавил в контекст 2 строчки:

Set(result=${SHELL(/usr/local/bin/astcheck.sh ${CALLERID(num)} && echo -n 0 || echo -n 1)}); NoOp(result is ${result});

в выводе ( NoOp(result is 0); всегда, не зависимо от скрипта, если убрать && echo -n 0 || echo -n 1 то вывод ( NoOp(result is ); всегда пустой

пути в скрипте полные

extensions.ael вызов bash скрипта с проверкой ответа от него

Доброе утро, камрады!

Всех с наступившим Новым Годом!

Не могу придумать как вызвать в входящем контексте внешний bash скрипт, и проверить ответ (в некотором случае скрипт возвращает 1), вот при 1 нужно выполнить какое то действие. Понятно что вызов через System(/путь/к/скрипту), а проверка через if, но вот как именно это организовать, прошу не пинать сильно ногами, а ткнуть носом в пример кода, (с) я не волшебник, я только учусь.

Заранее спасибо.

++ по совету virus_nееvirus_nеt http://www.voip-info.org/wiki/view/Asterisk+func+shell добавил в контекст 2 строчки:

Set(result=${SHELL(/usr/local/bin/astcheck.sh ${CALLERID(num)} && echo -n 0 || echo -n 1)}); NoOp(result is ${result});

в выводе ( NoOp(result is 0); всегда, не зависимо от скрипта, если убрать && echo -n 0 || echo -n 1 то вывод ( NoOp(result is ); всегда пустой

пути в скрипте полные

extensions.ael вызов bash скрипта с проверкой ответа от него

Доброе утро, камрады!

Всех с наступившим Новым Годом!

Не могу придумать как вызвать в входящем контексте внешний bash скрипт, и проверить ответ (в некотором случае скрипт возвращает 1), вот при 1 нужно выполнить какое то действие. Понятно что вызов через System(/путь/к/скрипту), а проверка через if, но вот как именно это организовать, прошу не пинать сильно ногами, а ткнуть носом в пример кода, (с) я не волшебник, я только учусь.

Заранее спасибо.

++ по совету virus_nеt http://www.voip-info.org/wiki/view/Asterisk+func+shell добавил в контекст 2 строчки:

Set(result=${SHELL(/usr/local/bin/astcheck.sh ${CALLERID(num)} && echo -n 0 || echo -n 1)}); NoOp(result is ${result});

в выводе ( NoOp(result is 0); всегда, не зависимо от скрипта, если убрать && echo -n 0 || echo -n 1 то вывод ( NoOp(result is ); всегда пустой

пути в скрипте полныеполные, при запуске из консоли скрипта все работает правильно!

extensions.ael вызов bash скрипта с проверкой ответа от него

Доброе утро, камрады!

Всех с наступившим Новым Годом!

Не могу придумать как вызвать в входящем контексте внешний bash скрипт, и проверить ответ (в некотором случае скрипт возвращает 1), вот при 1 нужно выполнить какое то действие. Понятно что вызов через System(/путь/к/скрипту), а проверка через if, но вот как именно это организовать, прошу не пинать сильно ногами, а ткнуть носом в пример кода, (с) я не волшебник, я только учусь.

Заранее спасибо.

++ по совету virus_nеt http://www.voip-info.org/wiki/view/Asterisk+func+shell добавил в контекст 2 строчки:

Set(result=${SHELL(/usr/local/bin/astcheck.sh ${CALLERID(num)} && echo -n 0 || echo -n 1)}); NoOp(result is ${result});

в выводе ( NoOp(result is 0); всегда, не зависимо от скрипта, если убрать && echo -n 0 || echo -n 1 то вывод ( NoOp(result is ); всегда пустой

пути в скрипте полные, при запуске из консоли скрипта все работает правильно!

+++ сделал простой скрипт с echo $1 в NoOp(result is blah-blah-blah) т.е. скрипт принимает и передает данные, курю скрипт

extensions.ael вызов bash скрипта с проверкой ответа от него

Доброе утро, камрады!

Всех с наступившим Новым Годом!

Не могу придумать как вызвать в входящем контексте внешний bash скрипт, и проверить ответ (в некотором случае скрипт возвращает 1), вот при 1 нужно выполнить какое то действие. Понятно что вызов через System(/путь/к/скрипту), а проверка через if, но вот как именно это организовать, прошу не пинать сильно ногами, а ткнуть носом в пример кода, (с) я не волшебник, я только учусь.

Заранее спасибо.

++ по совету virus_nеt http://www.voip-info.org/wiki/view/Asterisk+func+shell добавил в контекст 2 строчки:

Set(result=${SHELL(/usr/local/bin/astcheck.sh ${CALLERID(num)} && echo -n 0 || echo -n 1)}); NoOp(result is ${result});

в выводе ( NoOp(result is 0); всегда, не зависимо от скрипта, если убрать && echo -n 0 || echo -n 1 то вывод ( NoOp(result is ); всегда пустой

пути в скрипте полные, при запуске из консоли скрипта все работает правильно!

+++ сделал простой скрипт с echo $1 в NoOp(result is blah-blah-blah) т.е. скрипт принимает и передает данные, курю скрипт

++++ скрипт стал выдавать результат, и возвращать в контекст результат выполнения

вот конструкция:

    Set(result=${SHELL(/usr/local/bin/astcheck.sh ${CALLERID(num)})});
    NoOp(One result is ${result}); тут показывает правильный результат 1
    if ("${result}" = "1") {
         NoOp(Two result is ${result}); тут не проходит проверка

    };

проверка не проходит, что не так?

extensions.ael вызов bash скрипта с проверкой ответа от него

Доброе утро, камрады!

Всех с наступившим Новым Годом!

Не могу придумать как вызвать в входящем контексте внешний bash скрипт, и проверить ответ (в некотором случае скрипт возвращает 1), вот при 1 нужно выполнить какое то действие. Понятно что вызов через System(/путь/к/скрипту), а проверка через if, но вот как именно это организовать, прошу не пинать сильно ногами, а ткнуть носом в пример кода, (с) я не волшебник, я только учусь.

Заранее спасибо.

++ по совету virus_nеt http://www.voip-info.org/wiki/view/Asterisk+func+shell добавил в контекст 2 строчки:

Set(result=${SHELL(/usr/local/bin/astcheck.sh ${CALLERID(num)} && echo -n 0 || echo -n 1)}); NoOp(result is ${result});

в выводе ( NoOp(result is 0); всегда, не зависимо от скрипта, если убрать && echo -n 0 || echo -n 1 то вывод ( NoOp(result is ); всегда пустой

пути в скрипте полные, при запуске из консоли скрипта все работает правильно!

+++ сделал простой скрипт с echo $1 в NoOp(result is blah-blah-blah) т.е. скрипт принимает и передает данные, курю скрипт

++++ скрипт стал выдавать результат, и возвращать в контекст результат выполнения

вот конструкция:

    Set(result=${SHELL(/usr/local/bin/astcheck.sh ${CALLERID(num)})});
    NoOp(One result is ${result}); тут показывает правильный результат 1
    if ("${result}" = "1") {
         NoOp(Two result is ${result}); тут не проходит проверка

    };

проверка не проходит, что не так?

extensions.ael Решено:иextensions.ael вызов bash скрипта с проверкой ответа от него

Доброе утро, камрады!

Всех с наступившим Новым Годом!

Не могу придумать как вызвать в входящем контексте внешний bash скрипт, и проверить ответ (в некотором случае скрипт возвращает 1), вот при 1 нужно выполнить какое то действие. Понятно что вызов через System(/путь/к/скрипту), а проверка через if, но вот как именно это организовать, прошу не пинать сильно ногами, а ткнуть носом в пример кода, (с) я не волшебник, я только учусь.

Заранее спасибо.

++ по совету virus_nеt http://www.voip-info.org/wiki/view/Asterisk+func+shell

вот конструкция:

    Set(result=${SHELL(/usr/local/bin/astcheck.sh ${CALLERID(num)})});
    NoOp(One result is ${result}); тут показывает правильный результат 1
    if ("${result}" = "1") {
         NoOp(Two result is ${result}); тут не проходит проверка

    };

проверка не проходит, что не так?

Решено:иextensions.ael Решено: extensions.ael вызов bash скрипта с проверкой ответа от него

Доброе утро, камрады!

Всех с наступившим Новым Годом!

Не могу придумать как вызвать в входящем контексте внешний bash скрипт, и проверить ответ (в некотором случае скрипт возвращает 1), вот при 1 нужно выполнить какое то действие. Понятно что вызов через System(/путь/к/скрипту), а проверка через if, но вот как именно это организовать, прошу не пинать сильно ногами, а ткнуть носом в пример кода, (с) я не волшебник, я только учусь.

Заранее спасибо.

++ по совету virus_nеt http://www.voip-info.org/wiki/view/Asterisk+func+shell

Решено: extensions.ael вызов bash скрипта с проверкой ответа от него

Доброе утро, камрады!

Всех с наступившим Новым Годом!

Не могу придумать как вызвать в входящем контексте внешний bash скрипт, и проверить ответ (в некотором случае скрипт возвращает 1), вот при 1 нужно выполнить какое то действие. Понятно что вызов через System(/путь/к/скрипту), а проверка через if, но вот как именно это организовать, прошу не пинать сильно ногами, а ткнуть носом в пример кода, (с) я не волшебник, я только учусь.

Заранее спасибо.

++ по совету virus_nеt http://www.voip-info.org/wiki/view/Asterisk+func+shell

Спасибо за подсказку!

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.