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

команда system

0

Есть задача передать в скрипт с помощью system строку:

exten => s,n,System( echo "asterisk -rx "core show channels"" >> /blabla/1.sh)

так вот, задача сводится к тому,чтобы передать строку без изменения,т.е. не выполняя внешнюю команду asterisk -rx

Подскажите,это вообще реально?

удалить закрыть спам изменить тег редактировать

спросил 2012-09-25 12:28:27 +0400

анонимный пользователь

Аноним

Comments

Учите bash , чтобы как-то эксперементировать!.

zzuz ( 2012-09-25 13:57:18 +0400 )редактировать

3 Ответа

1

А в рассматриваемом примере по-другому и не выйдет. echo должен добавить в файл строку "asterisk -rx "core show channels""

ссылка удалить спам редактировать

ответил 2012-09-25 12:34:46 +0400

switch Gravatar switch
8334 11 7 92
http://lynks.ru/

Comments

ок,тогда как передать знак $ в файл аналогичным образом. Астер распознает сразу переменную и отказывается передавать знак доллара.

antony ( 2012-09-25 14:13:27 +0400 )редактировать

а это вам уже zzuz написал

switch ( 2012-09-25 14:14:58 +0400 )редактировать
1

в соответсвии с правилами баша вы должны екранировать спец значки. + вы еще должны екранировать в астериске.

я собстевнно затрудняюсь сказать как передать $(ибо будет два раза екран), но вот то что вы написали делается легко вот так

exten => s,n,System( echo "asterisk -rx \'core show channels\'" >> /blabla/1.sh)

а еще легче если написать внешний скрипт и ему передавать только аргументы - и он сам составляет файлики.

ссылка удалить спам редактировать

ответил 2012-09-25 15:13:52 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

спасибо огромное

antony ( 2012-09-25 16:28:27 +0400 )редактировать

справа от ответа галочки.

meral ( 2012-09-25 17:09:05 +0400 )редактировать
0
exten => s,n,System( echo asterisk -rx "core show channels" >> /blabla/1.sh)
ссылка удалить спам редактировать

ответил 2012-09-25 13:57:53 +0400

zzuz Gravatar zzuz flag of Russian Federation
7174 2 6 75
http://line24.ru/

обновил 2012-09-25 14:36:41 +0400

Comments

и в первом и во вртором случае выполняется команда=( и в файл передается уже значение, а не сама строка

antony ( 2012-09-25 14:26:55 +0400 )редактировать

Мистика прям.

zzuz ( 2012-09-25 14:29:09 +0400 )редактировать

Хм. Я кажется неправильно вопрос понял. зачем вам строку выполнения из диаплана писать ?

zzuz ( 2012-09-25 14:33:28 +0400 )редактировать

т.е. если Вы у себя выполните команду, то у Вас в файле окажется asterisk -rx "core show channels"? если так,то тогда действительно мистика

antony ( 2012-09-25 14:34:27 +0400 )редактировать

мне нужно передать эту строку в скрипт,который генерится астером по нажатию определенной комбинации клавиш на телефоне.

antony ( 2012-09-25 14:36:45 +0400 )редактировать

отредактировал ответ.

zzuz ( 2012-09-25 15:06:09 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2012-09-25 12:28:27 +0400

Просмотрен: 1,496 раз

Обновлен: Sep 25 '12

Похожие вопросы:

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