Eu quero que a linha de comando real seja conectada com sua saída .
Eu rotineiramente executo comandos importantes como este:
PERL5LIB=${PERL5LIB}:/something/extra my-command.pl many arguments which I want to save 2>&1 | tee -a my-command.log
Agora, my-command.log
contém os dois stdout
e stderr
de my-command.pl
.
No entanto, não contém a linha de comando acima.
Eu sei do arquivo bash
history; então, eu acho, eu poderia copiar de lá (ou do terminal) à mão, mas esta não é uma boa solução, é claro.
Eu acho que eu poderia escrever uma função de shell que aceitaria uma linha de comando, ecoaria e a executaria, mas então eu teria que lidar com o inferno das citações.
Eu tentei set -v
, mas parece ignorar o redirecionamento.
script
salva a linha de comando (mas somente se eu tiver iniciado um novo shell, não com -c
) mas ele não funciona no buffer de interação do shell emacs e também salva o prompt do shell - incluindo as seqüências de escape! - para o seu arquivo de log, por isso é sub-ótimo.