Используйте команду "tee" для добавления отладочной информации звездочки в файл

Когда я бегу:

$ asterisk -rvvv | tee temp-log-asterisk.txt
$ ubuntu*CLI> dialplan reload
$ exit

это реальный вывод звездочки:

Теперь, когда я смотрю на содержаниеtemp-log-asterisk.txt Я ожидаю увидеть тот же контент, но я вижу это вместо этого!:

1 ответ

Решение

"Странные символы" в вашем образце делятся на две категории:

  1. Цветовые последовательности ANSI
  2. ^M последовательности, представляющие возврат каретки (предполагая, что приложение использует окончания строки CRLF в стиле DOS).

В соответствии с параметрами Asterisk - при подключении к работающему Asterisk существует -n опция командной строки для подавления первого:

-n: отключить поддержку цвета ANSI

Похоже, что нет возможности указать окончания строки LF в Unix-стиле, однако вы должны иметь возможность передавать результаты через любую из множества команд "DOS to Unix", таких как tr -d '\r' т.е.

asterisk -rnvvv | tr -d '\r' | tee temp-log-asterisk.txt

Обратите внимание, что это также удалит цвета из вывода на экран.

Другие вопросы по тегам