Странное поведение при поиске .zshrc

Я использую zsh 5.0.2 (x86_64-apple-darwin12.3.0) на последнем MacOSX. Если это имеет значение, я также включил oh-my-zsh .

Кажется, что оболочка пропускает файл .zshrc когда я хочу его .zshrc .

Результат выполнения следующих команд должен явно выявить мою проблему. ( ~ » – это мое приглашение).

Файл существует

 ~ » ls -l .zshrc -rw-r--r-- 1 user staff 1882 May 16 10:43 .zshrc ~ » [[ -r .zshrc ]] && echo "Exists" Exists 

Файл не читается «.».

 ~ » . .zshrc .: no such file or directory: .zshrc 

Я не знаю, что вызывает такое поведение, особенно это работает

 ~ » . "$(pwd)"/.zshrc Success! 

Мой вопрос:

Почему бы и нет . .zshrc . .zshrc работать?

  • Исполняемые файлы показывают с символом * рядом с их именем в выводе ls
  • терминал преобразует первую букву в верхний регистр
  • Есть ли способ перечислить количество файлов при использовании dpkg -L для отображения файлов пакета?
  • О взаимосвязи между инициализацией оболочки и настольными приложениями после «графического входа»
  • Переход к предыдущей строке многострочной команды
  • zsh уведомление об электронной почте (в maildir)
  • Запрос цвета zsh
  • Команда Echo с оператором AND не выходит
  • One Solution collect form web for “Странное поведение при поиске .zshrc”

    . команда ищет файл в вашем $path , это не по умолчанию поиск в текущем каталоге. Вот почему он работает, когда вы даете абсолютный путь ( "$(pwd)"/.zshrc ).

    Из руководства zsh о . команда :

    , file [arg …]

    Прочитайте команды из файла и выполните их в текущей среде оболочки.

    Если файл не содержит косой черты или установлен PATH_DIRS, оболочка ищет компоненты $ path для поиска каталога, содержащего файл. Файлы в текущем каталоге не читаются, если не указано «.». появляется где-то в $ path.

    Сравните с source командой :

    исходный файл [arg …]

    То же, что и «.», За исключением того, что текущий каталог всегда ищет и всегда ищет первый, перед каталогами в $ path.

    Linux и Unix - лучшая ОС в мире.