Vou abordar cada um deles por sua vez:
$ sudo apt-get install package 1> apt.out 2> apt.err
Isso pode lhe causar alguns problemas se apt-get
decidir fazer uma pergunta. O prompt será enviado para a saída padrão e redirecionado para o arquivo e não será exibido para você. Se você quiser usar o apt-get desta maneira, use suas outras opções para responder antecipadamente a qualquer pergunta ( apt-get --assume-yes install package 1> apt.out 2> apt.err
). Mas esteja ciente de que pressupor um "sim" pode levar a consequências imprevistas.
$ sudo apt-get install package | tee 1> apt.out 2> apt.err
Isso é um pouco melhor, mas primeiro vamos corrigir sua invocação de tee
:
$ sudo apt-get package 2> apt.err | tee apt.out
Sua chamada inicial não chamou corretamente tee
e, em seguida, redirecionou o erro padrão de tee
em vez de apt-get
para o seu log de erros.
Isso funcionará melhor, mas você não verá na sua tela nenhuma informação presumivelmente útil que tenha sido enviada para um erro padrão que possa aconselhá-lo sobre suas reações se apt-get
lhe fizer qualquer pergunta.
$ ./configure 1>output1.txt 2>errors1.err
$ make 1>output2.txt 2>errors2.err
$ make install 1>output3.txt 2>errors3.err
Isso fará exatamente o que você espera; você terminará com seis arquivos com todo o erro padrão e saída padrão dos três comandos. Eu sugiro usar nomes de arquivos um pouco menos abstrusos, e. g .:
$ ./configure 1> configure.out 2> configure.err
$ make 1> make.out 2> make.err
$ make install 1> install.out 2> install.err
Mas eu estaria mais inclinado a colocá-los em dois arquivos:
$ ( ./configure && make && make install ) 1> build.out 2> build.err
Isso faz duas coisas de maneira diferente: primeiro, coloca todos os comandos de compilação em uma subcamada e coleta magicamente os fluxos de saída juntos. Em segundo lugar, ele usa o operador &&
do shell para somente executar o próximo comando se o comando anterior foi bem-sucedido.
Observação : eu também consertei sua invocação de apt-get
em todo.