Pare o ZSH de tentar corrigir ssh para .ssh como um argumento

2

Isso não é exatamente uma duplicata, já que quero que a opção correta ainda esteja ativa. Eu faço bagunças de vez em quando e ZSH está feliz em me ajudar. O problema acontece quando estou em meu diretório pessoal e quero gerenciar o sshd com algo como systemctl reload ssh ou service ssh start . Ele sempre me pergunta se eu quero corrigir para .ssh . Eu costumo executar meu trabalho em $HOME , então isso fica um pouco chato. Eu já tentei alias ssh='nocorrect ssh' e alias ssh='nocorrectall ssh' (o que eu acho que não faz nada). Alguma idéia de como resolver isso?

    
por user52470 07.02.2018 / 04:51

1 resposta

5

Defina CORRECT_IGNORE_FILE . Por exemplo, para ignorar correções em todos os arquivos de ponto:

$ cd
$ PS1='%% ' zsh -f
% setopt CORRECT_ALL
% touch ssh
zsh: correct 'ssh' to '.ssh' [nyae]? a
% CORRECT_IGNORE_FILE='.*'
% touch ssh
% rm ssh

Isso está documentado em zshall(1)

   CORRECT_IGNORE_FILE
          If set, is treated as a pattern during  spelling  correction  of
          file  names.   Any  file  name that matches the pattern is never
          offered as a correction.  For example, if the value is '.*' then
          dot  file  names  will never be offered as spelling corrections.
          This is useful with the CORRECT_ALL option.

isto requer uma versão um pouco recente de zsh (mais recente que os navios com o Centos 7). Se você estiver preso em uma versão antiga de zsh , será necessário desativar CORRECT_ALL ou usar nocorrect para desativar as correções para cada comando problemático (o que provavelmente é o motivo pelo qual CORRECT_IGNORE_FILE foi adicionado). / p>     

por 07.02.2018 / 05:31