Este foi um hack que usei uma vez em uma conta compartilhada para rastrear quem fez o quê:
PROMPT_COMMAND="history -a; sed -i '\$s/\$/ \#$NAME/' $HISTFILE; history -r; $PROMPT_COMMAND"
Grava o history
antes da exibição do PROMPT
: na verdade, após cada comando. Você poderia modificar isso para usar salvar o código de saída no histórico:
PROMPT_COMMAND="CODE=$?; history -a; sed -i '\$s/\$/ \#\$CODE/' $HISTFILE; history -r; $PROMPT_COMMAND"
Isso deixaria entradas no seu histórico como:
$ history 2
1271 vim .bashrc #0
1272 history 2
(A última entrada será atualizada, após o comando history
sai, portanto o código de saída não é visível nesta saída.)
Isso tem o efeito irritante de que o histórico no seu prompt terá o comentário:
$ # press up
$ history 2 #0
O comentário não afeta a execução ou a saída normalmente, mas dificulta a edição.
Agora você pode grep
do seu histórico para ver quais códigos saíram com sucesso:
history | grep '#0$'
# or grep '#[^0]*$' for unsuccessful commands.