Para um único script redirecionando stdout e stderr para um arquivo com isto:
./myscript.sh 2>&1 | tee -a out_file
funciona bem. Quando tento executar da mesma forma um script contendo várias caixas de diálogo criadas com o comando dialog (e chamando outros scripts)
./main.sh 2>&1 | tee -a out_file
o out_file contém caracteres indesejados devido a essas caixas. Por exemplo:
#!/bin/bash
# myscript.sh
dialog --title "Title" \
--msgbox "Message Box" \
30 120
date
gera com:
$ ./myscript.sh 2>&1 | tee -a myscript.out
várias linhas semelhantes a esta:
[36m[44m [30m[40m[K[22;38H[39;49m(B[m[2;3H[30m[47mMessage Box[22;38H[39;49m(B[m
Como posso obter stdout e stderr sem esses caracteres (para scripts principais e todos os subsequentes)? Isso seria no exemplo a saída de date . É bom ter o que um usuário digitou em uma caixa de entrada.