Como posso definir o histórico do terminal do Mac OS X para agir como linux ao usar as setas para cima / para baixo?

12

Gostaria que o aplicativo de terminal do Mac OS percorresse meu histórico de comandos da mesma maneira que funciona no Linux, se possível. Atualmente, se eu pressionar a seta para cima no terminal, ela percorrerá todos os meus comandos recentes, mesmo que os últimos 50 sejam o mesmo comando exato . Na maioria dos sistemas Linux que usei, esse comportamento retrocede o histórico de comandos, mas o mais importante é que ele ignora comandos duplicados . Esse comportamento é possível no aplicativo de terminal do Mac OS X ou preciso usar um aplicativo de terminal diferente? Obrigado.

Nate
fonte
2
Esta não é a ação do aplicativo Terminal, mas como você tiver configurado o shell - provavelmente o bash ver sua documentação para a história
user151019
Verifique também o iTerm2. IMO é uma ferramenta melhor. iterm2.com
Harv

Respostas:

11

Mark que comentou minhas perguntas acima estava correto. Esta é uma configuração do bash. Se você adicionar o seguinte ao seu ~/.bash_profilescript, obterá esse comportamento.

HISTCONTROL=ignoredups

Você também pode ignorar todas as linhas que começam com um espaço:

HISTCONTROL=ignorespace

Ou faça as duas coisas usando:

HISTCONTROL=ignoreboth
Nate
fonte
11
Estritamente melhor adicione ao .bashrc e faça o .bash_profile source .bashrc - consulte o manual do bash
user151019
3

Supondo que você esteja usando o bash então

HISTCONTROL=ignoreboth

ou

HISTCONTROL=ignoreboth:erasedups

em um dos seus arquivos bash rc.

fd0
fonte