Algo parecido com isso no seu .bash_profile
ou .bashrc
pode funcionar para você:
if test -t 0 -a -t 1 -a -z "$SCRIPTING"
then
export SCRIPTING="$HOME/.script.$(date +%Y%m%d_%H%M%S).$$)"
exec script "$SCRIPTING"
fi
Eu gosto de usar ferramentas como history
, script
e asciinema
para registrar e revisar sessões xterm (ou seja, bash
/ sh
) para motivos típicos de administração geral e também, às vezes, para estudo / revisão; como uma ferramenta de aprendizado.
Eu pensei em definir o padrão $SHELL
como um caminho direto para as ferramentas e / ou comandos, como:
/bin/script transcript.log;
/bin/asciinema rec -w0.5 term_log.json;
Mas essas ferramentas normalmente contam com um $SHELL
definido padrão (por exemplo, /bin/bash
, /bin/sh
, /bin/zsh
, etc.).
Além disso, sinto que redefinir as variáveis do sistema (ou seja, $SHELL
, $TERM
, etc.) ou tentar fazê-lo funcionar com config ( *.conf
) e dot ( ~/.bashrc
/ ~/.bash_profile
) arquivos estão repletos de todos os tipos de falhas e possíveis problemas.
No entanto, toda vez que eu decido ou percebo que quero uma transcrição de uma sessão, é após o fato, ou já estarei na metade da parte interessante, ou em algum outro cenário.
Qual é a prática correta ou melhor para definir algo assim para simplesmente registrar tudo (preferencialmente stdin
, stdout
(e stderr
quando aplicável), etc.) automaticamente?
Algo parecido com isso no seu .bash_profile
ou .bashrc
pode funcionar para você:
if test -t 0 -a -t 1 -a -z "$SCRIPTING"
then
export SCRIPTING="$HOME/.script.$(date +%Y%m%d_%H%M%S).$$)"
exec script "$SCRIPTING"
fi
Tags history logs shell typescript