A abordagem mais simples seria usar tee
para despejar a entrada e saída do filho para dois arquivos separados, da seguinte forma:
#!/bin/bash
tee in.log | child | tee out.log
Você pode usar o parâmetro tee
de -a
( append ) para gravar os dois logs no mesmo arquivo, mas não tenho certeza se eles serão intercalados à direita ordem ou apenas escrito um após o outro:
#!/bin/bash
tee -a both.log | child | tee -a both.log