Для одного скрипта, перенаправляющего stdout и stderr в файл с этим:
./myscript.sh 2>&1 | tee -a out_file
работает отлично. Когда я пытаюсь таким же образом запустить скрипт, содержащий несколько диалоговых окон, созданных с помощью команды dialog (и вызывающих другие скрипты)
./main.sh 2>&1 | tee -a out_file
out_file содержит нежелательные символы из-за этих полей. Например:
#!/bin/bash
# myscript.sh
dialog --title "Title" \
--msgbox "Message Box" \
30 120
date
генерируется с:
$ ./myscript.sh 2>&1 | tee -a myscript.out
несколько строк, похожих на эту:
[36m[44m [30m[40m[K[22;38H[39;49m(B[m[2;3H[30m[47mMessage Box[22;38H[39;49m(B[m
Как я могу получить stdout и stderr без этих символов (для основного и всех последующих сценариев)? Это было бы в примере вывода даты . Приятно иметь то, что пользователь ввел в поле ввода.
dialog --stdout ...
tr -d 'ﮛ'
может быть, как./main.sh 2>&1 | tr -d 'ﮛ' | tee -a out_file