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.