ZSH가 ssh를 인수로 .ssh로 수정하려고 시도하는 것을 방지합니다.

ZSH가 ssh를 인수로 .ssh로 수정하려고 시도하는 것을 방지합니다.

Correct_all이 계속 활성화되기를 원하기 때문에 이것은 정확하게 중복된 것은 아닙니다. 나는 때때로 논쟁을 망칠 때가 있는데 ZSH는 기꺼이 나를 도와줍니다. 마찰은 제가 홈 디렉토리에 있고 sshd를 관리하기 위해 그런 것을 사용하고 싶을 때 발생합니다. systemctl reload ssh또는 제가 보통 거기에서 작업을 할 service ssh start것인지 묻는 메시지가 계속 표시되므로 상당히 짜증납니다. 나는 이것을 시도했습니다 (아무것도하지 않는 것 같습니다). 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?.ssh$HOMEalias ssh='nocorrect ssh'alias ssh='nocorrectall ssh'

답변1

놓다 CORRECT_IGNORE_FILE. 예를 들어 모든 도트 파일에 대한 수정 사항을 무시하려면 다음을 수행하십시오.

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

이 내용은 다음과 같이 기록됩니다.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.

이를 위해서는 최신 버전 zsh(Centos 7과 함께 제공되는 버전보다 최신 버전)이 필요합니다. 이전 버전에서 멈춘 경우 수정 사항을 비활성화 하거나 수정 사항을 사용하여 문제가 있는 각 명령을 zsh꺼야 합니다 (이것이 아마도 명령이 추가된 이유일 것입니다).CORRECT_ALLnocorrectCORRECT_IGNORE_FILE

관련 정보