当我向 ~/.zshrc
添加别名时,例如 alias dir='cd ~/Desktop/somedir'
并执行 source ~/.zshrc
,当尝试在 iterm 2 中使用别名时,它说“command not recognized 'cd”。
但是,如果我在 iTerm 2 而不是 ~/.zshrc
文件中创建别名,它会识别它。有谁知道为什么会这样吗?
谢谢!
最佳答案
您的 ~/.zshrc
中的单引号似乎不被识别,因此 zsh 假定给出了两个别名: dir='cd
的定义和 ~/Desktop/somedir'
的查询而不是 dir='cd ~/Desktop/somedir'
. (zsh 允许在一个命令中进行多个别名定义和查询)
您使用的单引号很可能不是 '
来自 ASCII(ASCII 代码 0x27
),但一些 Unicode 表示。根据您的编辑器,当您编辑 ~/.zshrc
时,它们可能会被自动替换。 .确保使用不执行任何此类“自动魔术”的文本编辑器(除非您告诉它)。我想到nano
, vim
和/或 emacs
在最近的 OS X 版本上可用。
关于macos - 带有 iterm 2 的 zsh 无法识别我的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22573466/