Shell 为什么zsh将~/.zshrc中的新行(^M)作为命令读取?

Shell 为什么zsh将~/.zshrc中的新行(^M)作为命令读取?,shell,terminal,newline,zsh,zshrc,Shell,Terminal,Newline,Zsh,Zshrc,我不确定我是怎么搞砸了zsh配置的,但每次我尝试运行zsh时,我都会收到以下消息,后面跟着默认主题: /Users/danny/.zshrc:3: command not found: ^M /Users/danny/.zshrc:9: command not found: ^M /Users/danny/.zshrc:13: command not found: ^M /Users/danny/.zshrc:16: command not found: ^M /Users/danny/.zsh

我不确定我是怎么搞砸了zsh配置的,但每次我尝试运行zsh时,我都会收到以下消息,后面跟着默认主题:

/Users/danny/.zshrc:3: command not found: ^M
/Users/danny/.zshrc:9: command not found: ^M
/Users/danny/.zshrc:13: command not found: ^M
/Users/danny/.zshrc:16: command not found: ^M
/Users/danny/.zshrc:19: command not found: ^M
/Users/danny/.zshrc:22: command not found: ^M
/Users/danny/.zshrc:25: command not found: ^M
/Users/danny/.zshrc:28: command not found: ^M
/Users/danny/.zshrc:32: command not found: ^M
/Users/danny/.zshrc:33: command not found: ^M
/Users/danny/.zshrc:source:34: no such file or directory: /Users/danny/.oh-my-zsh^M/oh-my-zsh.sh^M
/Users/danny/.zshrc:35: command not found: ^M
danny%

我已尝试删除.zshrc和.oh my zsh,并通过brew重新安装oh my zsh,但仍然存在同样的问题。如何解决此问题?

因为CR不被视为换行符,而只被视为LF。对您的文件使用
dos2unix
,并且只能使用能够区分差异的文本编辑器对其进行编辑。

因为CR不被视为换行符,而只被视为LF。在您的文件上使用
dos2unix
,并且只使用能够区分差异的文本编辑器进行编辑。

好的,这似乎解决了~/.zshrc的问题,但现在我在~/.oh my zsh/oh-my-zsh.sh和其他地方看到了它。是否有一个全球性的设置在某个地方以错误的格式读取所有内容?@DannyGarcia我相信没有。但是你从哪里得到了我的zsh?也许这是您的VCS配置错误导致了这些问题。@ZyX也许,我只是在做
brew安装zsh
-我想。好的,这似乎解决了~/.zshrc的问题,但现在我在~/.oh my zsh/oh-my-zsh.sh和其他地方看到了这一点。是否有一个全球性的设置在某个地方以错误的格式读取所有内容?@DannyGarcia我相信没有。但是你从哪里得到了我的zsh?也许这是您的VCS配置错误导致了这些问题。@ZyX也许,我只是在做
brew安装zsh
-我想。