First time here? Check out the FAQ!

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

команда system

0

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

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

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

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

спросил Sep 25 '12

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

Аноним

Comments

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

zzuz (Sep 25 '12)edit

3 Ответа

1

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

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

ответил Sep 25 '12

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

Comments

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

antony (Sep 25 '12)edit

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

switch (Sep 25 '12)edit
1

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

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

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

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

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

ответил Sep 25 '12

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

Comments

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

antony (Sep 25 '12)edit

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

meral (Sep 25 '12)edit
0
exten => s,n,System( echo asterisk -rx "core show channels" >> /blabla/1.sh)
ссылка удалить спам редактировать

ответил Sep 25 '12

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

обновил Sep 25 '12

Comments

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

antony (Sep 25 '12)edit

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

zzuz (Sep 25 '12)edit

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

zzuz (Sep 25 '12)edit

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

antony (Sep 25 '12)edit

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

antony (Sep 25 '12)edit

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

zzuz (Sep 25 '12)edit

Ваш ответ

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 ленту новостей

Статистика

Задан: Sep 25 '12

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

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

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

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