Histórico do comando de encerramento no terminal

1

O terminal padrão no Ubuntu (13.04) preserva os comandos anteriores em uma lista iterável, mesmo de sessão para sessão. O mesmo com o terminal Byobu.

Mas, por algum motivo, o desligamento do sudo .... nunca é preservado nessa lista.

Por que isso? Como posso alterá-lo para que o comando de desligamento também seja salvo, por isso não tenho que digitar cada vez? (Eu prefiro usar o terminal para a GUI).

    
por Vector 16.06.2013 / 00:22

1 resposta

3

Mais precisamente, seu shell (bash, por padrão) preserva o histórico de comandos. Não é uma função do aplicativo terminal, da tela do gnu ou do byobu. Todos eles correm bash, então todos eles compartilham um histórico bash.

Eu não vejo o comportamento que você está descrevendo. Meus comandos desligamento do sudo ... parecem estar bem preservados.

Algumas razões pelas quais você pode não ver um comando no seu histórico bash -

  • quando você insere um comando com espaços no início da linha, ele não é mantido no histórico (supondo que seu $ HISTCONTROL contenha "ignorespace" ou "ignoreboth")
  • a variável HISTIGNORE define padrões a serem excluídos do histórico. Um administrador cauteloso pode adicionar 'shutdown' como uma string para excluir, para evitar desligar acidentalmente um sistema com uma invocação de histórico equivocada.
  • O histórico é gravado em disco (~ / .bash_history) quando o shell é encerrado. Se o shell for finalizado de forma anormal (por exemplo, segfault, power loss, etc), seu histórico para essa sessão não será salvo. (Durante o desligamento , o shell normalmente é morto normalmente e grava seu histórico.)

Mais detalhes podem ser encontrados aqui: Manual de Referência do Bash: Instalações de História do Bash

    
por Steven K 16.06.2013 / 01:34