É possível ver o histórico de outra shell?

4

Estou executando algo em uma janela bash que não quero interromper nem suspender momentaneamente. É possível visualizar o histórico de comandos da sessão daquela janela em particular? Eu tenho várias janelas abertas, portanto, ver .bash_history não ajuda muito.

    
por Michael 31.01.2017 / 19:06

2 respostas

3

Não, bash não suporta isso. O histórico é mantido na memória e não está disponível para outros processos até que seja salvo em .bash_history na mesma sessão usando history -a ou history -w . Mas no momento em que é gravado no sistema de arquivos, as informações de qual sessão o comando se originou são perdidas.

O mais próximo que você pode obter é usar algumas linhas em .bashrc para permitir que bash acrescente cada comando diretamente após a execução: link
Então você pode ver os comandos de todos os shells quase em tempo real em .bash_history .

Para acessar o histórico de uma sessão específica, você precisa interromper o processo de primeiro plano nessa sessão usando, por exemplo, Ctrl+Z .

    
por 31.01.2017 / 19:37
2

Você pode pressionar Ctrl-Z para colocar a tarefa em segundo plano. Depois disso, você pode trabalhar em seu shell e ver o histórico de comandos. Para procurar tarefas em segundo plano, você pode usar o comando job . Para voltar à sua tarefa, execute o comando fg .

    
por 31.01.2017 / 19:34