A maneira mais simples de fazer isso seria
bash -i >/tmp/logfile 2>&1
O Bash gravará tudo /tmp/logfile
e continuará executando os comandos enquanto você os digita, mas nada será exibido no terminal. Você pode fazê-lo sair da mesma maneira que sai da sessão do terminal - pressionando Ctrl+ Dou digitando exit
.
Observe que, se você executar a mesma coisa sem stderr
redirecionar, terá apenas a mensagem de saudação registrada no arquivo, todo o resto funcionará no seu terminal atual. Portanto, a resposta à sua pergunta sobre o fluxo para o qual o bash gera seu prompt (e todos os seguintes comandos) parece ser: stderr .
Ah, sim, e o -i
parâmetro simplesmente força o bash a executar no modo interativo. Não dê ouvidos a essas pessoas - você não precisa de nenhum truque de mágica para fazer isso;)