Existe um modo “SHELL IN PRIVATE” para o bash? [duplicado]

0

Quando uso um navegador, posso "navegar em particular" se não quiser que o histórico do meu navegador seja gravado na máquina local. Mas e se eu estiver digitando comandos no bash shell e talvez em senhas, e não quero que sejam armazenados no meu histórico de comandos, mas ao mesmo tempo não quero apagar meu histórico de comandos? Existe uma maneira de fazer isso?

    
por leeand00 25.01.2018 / 21:22

1 resposta

3

ATUALIZAÇÃO: Minha resposta foi marcada como ACEITAR antes que a pergunta fosse marcada como duplicada. A referência indica uma solução possivelmente superior às três que listamos abaixo, dependendo do seu caso de uso, portanto, vou repeti-la aqui: Desative temporariamente o log do histórico digitando set +o history e restaure o log do histórico digitando set -o history .

RESPOSTA ORIGINAL (S): Em bash , existem algumas maneiras de criar manualmente o ambiente que você deseja, todas envolvendo alguma combinação das variáveis internas bash , HISTCONTROL , HISTFILE e HISTIGNORE .

Nos parágrafos abaixo, as citações são textuais de man bash .

1] Você poderia iniciar um shell com HISTFILE unset, em cujo caso "o histórico do comando não é salvo quando um shell sai".

2] Você pode definir manualmente HISTCONTROL para incluir a string ignorespace e, nesse caso, "as linhas que começam com um caractere de espaço não são salvas na lista de histórico.

3] Você pode definir manualmente HISTIGNORE para * , ou para algo mais específico, em cujo caso as linhas correspondentes ao seu padrão glob não serão salvas. Para esta opção, leia atentamente a página man , porque existem várias advertências e dicas. Essa seção da página man é curta e clara, e é uma boa prática lê-la de qualquer maneira, então não estou recortando e colando aqui.

    
por 25.01.2018 / 23:29

Tags