Завершите выполнение табуляции, предлагая «messagebus»

У меня есть каталог с именем build , который я cd немного.

Если в текущем каталоге нет какого-либо каталога bu* , завершение закладки zsh : cd bu TAB предлагает messagebus/ , который отсутствует . , Если я соглашусь на это завершение, я попадаю в /private/var/empty .

Я не знаю, какой вариант zsh предлагает это завершение, но я бы хотел отключить его. Любая идея, какая настройка делает это?

Для чего это стоит, это на OS X На ubuntu я получаю предложения libuuid messagebus с одинаковыми настройками zsh .

    /private/var/empty , вероятно, является messagebus пользователя messagebus . zsh предлагает расширение домашних каталогов, когда он получает аргумент функции cd которая, по ее мнению, выглядит как имя пользователя. В вашем случае bu расширяется до messagebus с помощью приблизительного совпадения, поскольку не более конкретный матчи запускается в пустом каталоге (в вашей Linux-системе как uuid и messagebus возвращаются как возможные приблизительные соответствия для строки bu ).

    Можно указать zsh которые пользователи должны учитывать при расширении в этих обстоятельствах, помещая что-то вроде этого в ваш ~/.zshrc :

     zstyle ':completion:*' users user1 user2 root 

    Просто перечислите всех пользователей, которых вы хотите, чтобы оболочка рассмотрела, source ~/.zshrc чтобы получить изменения, и вы больше не messagebus получать messagebus т.д. как возможные доработки.