没有这样的文件或目录 .zshrc

Pra*_*dra 3 zsh shell macos

最近发现自己跑不起来了

. .zshrc
Run Code Online (Sandbox Code Playgroud)

在我的主目录中。它给了我上面的错误。这真的很奇怪,这让我很烦恼,因为它过去运行得非常好。

同一目录中,以下任何命令都可以正常工作

. ~/.zshrc
source .zshrc  
Run Code Online (Sandbox Code Playgroud)

输出来自 echo $PATH | tr ':' '\n'

/Users/prashanthcr/.rvm/gems/ruby-2.2.0/bin
/Users/prashanthcr/.rvm/gems/ruby-2.2.0@global/bin
/Users/prashanthcr/.rvm/rubies/ruby-2.2.0/bin
/Users/prashanthcr/.nvm/versions/node/v5.5.0/bin
/Users/prashanthcr/Library/Android/sdk/platform-tools
/Users/prashanthcr/Library/Android/sdk/tools
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/opt/X11/bin
/usr/local/MacGPG2/bin
/Users/prashanthcr/.rvm/gems/ruby-2.2.0/bin
/Users/prashanthcr/.rvm/gems/ruby-2.2.0@global/bin
/Users/prashanthcr/.rvm/bin
Run Code Online (Sandbox Code Playgroud)

在 OS X 11.11.3 上使用 zsh

AFH*_*AFH 5

zsh正在按预期工作(请参阅man zshbuiltins):

  • . File搜索$PATH以查找,File除非/名称中有 a ;尽管
  • source与 几乎相同.,只是它首先搜索工作目录。

我不知道. .zshrc以前是如何工作的,除非zsh.

你可以:

  1. alias .=source;
  2. 链接~/.zshrc到一个目录$PATH
  3. 将您的主目录添加到$PATH(不推荐);或者
  4. 忍受必须打字. ./.zshrc(这是我一直在做的事情bash,其中.source是相同的,我想确定脚本的位置)。

  • 谢谢大佬参考。我想我可能将它与 bash 混淆了,当 POSIX 模式关闭(这似乎是正常设置)时,它显然会在当前目录中查找。 (2认同)