1 | изначальная версия редактировать | |
Доброе утро, камрады!
Всех с наступившим Новым Годом!
Не могу придумать как вызвать в входящем контексте внешний bash скрипт, и проверить ответ (в некотором случае скрипт возвращает 1), вот при 1 нужно выполнить какое то действие. Понятно что вызов через System(/путь/к/скрипту), а проверка через if, но вот как именно это организовать, прошу не пинать сильно ногами, а ткнуть носом в пример кода, (с) я не волшебник, я только учусь.
Заранее спасибо.
2 | No.2 Revision редактировать |
Доброе утро, камрады!
Всех с наступившим Новым Годом!
Не могу придумать как вызвать в входящем контексте внешний 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 ); всегда пустой
пути в скрипте полные
3 | No.3 Revision редактировать |
Доброе утро, камрады!
Всех с наступившим Новым Годом!
Не могу придумать как вызвать в входящем контексте внешний 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 ); всегда пустой
пути в скрипте полные
4 | No.4 Revision редактировать |
Доброе утро, камрады!
Всех с наступившим Новым Годом!
Не могу придумать как вызвать в входящем контексте внешний 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 ); всегда пустой
пути в скрипте полныеполные, при запуске из консоли скрипта все работает правильно!
5 | No.5 Revision редактировать |
Доброе утро, камрады!
Всех с наступившим Новым Годом!
Не могу придумать как вызвать в входящем контексте внешний 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) т.е. скрипт принимает и передает данные, курю скрипт
6 | No.6 Revision редактировать |
Доброе утро, камрады!
Всех с наступившим Новым Годом!
Не могу придумать как вызвать в входящем контексте внешний 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}); тут не проходит проверка
};
проверка не проходит, что не так?
7 | No.7 Revision редактировать |
Доброе утро, камрады!
Всех с наступившим Новым Годом!
Не могу придумать как вызвать в входящем контексте внешний 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}); тут не проходит проверка
};
проверка не проходит, что не так?
8 | No.8 Revision редактировать |
Доброе утро, камрады!
Всех с наступившим Новым Годом!
Не могу придумать как вызвать в входящем контексте внешний 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}); тут не проходит проверка
};
проверка не проходит, что не так?
9 | No.9 Revision редактировать |
Доброе утро, камрады!
Всех с наступившим Новым Годом!
Не могу придумать как вызвать в входящем контексте внешний bash скрипт, и проверить ответ (в некотором случае скрипт возвращает 1), вот при 1 нужно выполнить какое то действие. Понятно что вызов через System(/путь/к/скрипту), а проверка через if, но вот как именно это организовать, прошу не пинать сильно ногами, а ткнуть носом в пример кода, (с) я не волшебник, я только учусь.
Заранее спасибо.
++ по совету virus_nеt http://www.voip-info.org/wiki/view/Asterisk+func+shell
10 | No.10 Revision редактировать |
Доброе утро, камрады!
Всех с наступившим Новым Годом!
Не могу придумать как вызвать в входящем контексте внешний 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.