ок,тогда как передать знак $ в файл аналогичным образом. Астер распознает сразу переменную и отказывается передавать знак доллара.
antony ( 2012-09-25 14:13:27 +0400 )редактироватьЕсть задача передать в скрипт с помощью system строку:
exten => s,n,System( echo "asterisk -rx "core show channels"" >> /blabla/1.sh)
так вот, задача сводится к тому,чтобы передать строку без изменения,т.е. не выполняя внешнюю команду asterisk -rx
Подскажите,это вообще реально?
спросил 2012-09-25 12:28:27 +0400
Аноним
А в рассматриваемом примере по-другому и не выйдет. echo должен добавить в файл строку "asterisk -rx "core show channels""
ок,тогда как передать знак $ в файл аналогичным образом. Астер распознает сразу переменную и отказывается передавать знак доллара.
antony ( 2012-09-25 14:13:27 +0400 )редактироватьв соответсвии с правилами баша вы должны екранировать спец значки. + вы еще должны екранировать в астериске.
я собстевнно затрудняюсь сказать как передать $(ибо будет два раза екран), но вот то что вы написали делается легко вот так
exten => s,n,System( echo "asterisk -rx \'core show channels\'" >> /blabla/1.sh)
а еще легче если написать внешний скрипт и ему передавать только аргументы - и он сам составляет файлики.
exten => s,n,System( echo asterisk -rx "core show channels" >> /blabla/1.sh)
и в первом и во вртором случае выполняется команда=( и в файл передается уже значение, а не сама строка
antony ( 2012-09-25 14:26:55 +0400 )редактироватьХм. Я кажется неправильно вопрос понял. зачем вам строку выполнения из диаплана писать ?
zzuz ( 2012-09-25 14:33:28 +0400 )редактироватьт.е. если Вы у себя выполните команду, то у Вас в файле окажется asterisk -rx "core show channels"
?
если так,то тогда действительно мистика
мне нужно передать эту строку в скрипт,который генерится астером по нажатию определенной комбинации клавиш на телефоне.
antony ( 2012-09-25 14:36:45 +0400 )редактироватьЗадан: 2012-09-25 12:28:27 +0400
Просмотрен: 1,511 раз
Обновлен: Sep 25 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Учите bash , чтобы как-то эксперементировать!.
zzuz ( 2012-09-25 13:57:18 +0400 )редактировать