web-dev-qa-db-ja.com

ZSHが引数としてsshを.sshに修正しようとするのを止めます

Correct_allを引き続きアクティブにしたいので、これは完全に重複しているわけではありません。私は時々議論を台無しにします、そして、ZSHは私を助けてうれしいです。摩擦は、ホームディレクトリにいて、sshdをsystemctl reload sshservice ssh startのようなもので管理したいときに発生します。常に、.sshに修正するかどうかを尋ねられます。私は通常$HOMEで作業を行うので、これはかなり面倒になります。私はすでにalias ssh='nocorrect ssh'alias ssh='nocorrectall ssh'を試しました(これは何もしないと思います)。これを解決する方法についてのアイデアはありますか?

4
user52470

_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に付属しているものより1つ新しいバージョン)。古いバージョンのzshで立ち往生している場合は、_CORRECT_ALL_を無効にするか、nocorrectを使用して、問題のある各コマンドの修正をオフにする必要があります(これがおそらく理由です) _CORRECT_IGNORE_FILE_が追加されました)。

6
thrig