zsh与iterm 2无法识别我的别名。

3
当我在~/.zshrc中添加别名,例如alias dir='cd ~/Desktop/somedir'并执行source ~/.zshrc时,在iterm 2中尝试使用别名时会显示“命令未识别'cd"。

但是,如果我在iTerm 2中创建别名而不是在~/.zshrc文件中创建,则可以识别它。有人知道为什么会这样吗?

谢谢!


在尝试弄清楚如何添加别名的过程中,我发现了这个问题,并且你的问题给了我正在寻找的答案。谢谢! - Jake T.
1个回答

5
看起来你的~/.zshrc中的单引号没有被识别为单引号,因此 zsh 认为给出了两个别名:将 dir='cd 的定义和查询 ~/Desktop/somedir' 而不是 dir='cd ~/Desktop/somedir'。(zsh 允许在一个命令中有多个别名定义和查询)
最可能的是你使用的单引号不是 ASCII(ASCII 码 0x27)中的 ',而是某种 Unicode 表示。根据你的编辑器,当你编辑 ~/.zshrc 时,它们可能会自动替换。为确保正确,请使用一个不执行任何这样的“自动魔法”的文本编辑器(除非你告诉它)。我认为 nanovim 和/或 emacs 可以在最新的 OS X 版本上使用。

这绝对是问题所在。我一直在使用默认的TextEdit打开文件。当我在Sublime中打开并进行编辑后,一切都正常了。好主意! - besh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接