Shell 未找到ZSH别名
当我打开我的Shell 未找到ZSH别名,shell,zsh,zshrc,oh-my-zsh,Shell,Zsh,Zshrc,Oh My Zsh,当我打开我的~/.zshrc文件并添加alias homestead=“cd~/homestead”时,我希望能够键入homestead,并被带到homestead文件夹 相反,我得到了以下错误: zsh:未找到命令:“cd 即使使用单引号,即alias homestad='cd~/homestad'并运行source~/.zshrc时,也会出现相同的错误 更新:另外,当我运行which homestad时,我会得到homestad:别名为“cd 如何修复此问题?可能您的区域设置正在自动将您发布
~/.zshrc
文件并添加alias homestead=“cd~/homestead”
时,我希望能够键入homestead
,并被带到homestead文件夹
相反,我得到了以下错误:
zsh:未找到命令:“cd
即使使用单引号,即alias homestad='cd~/homestad'
并运行source~/.zshrc
时,也会出现相同的错误
更新:另外,当我运行which homestad
时,我会得到homestad:别名为“cd
如何修复此问题?可能您的区域设置正在自动将您发布的双引号“更正为本地化双引号”。由于这在shell中未被识别为有效引号,因此简单的空白将打断字符串。因此实际别名为
“cd
至于为什么
alias homestad='cd~/homestad'
不起作用,似乎您在~/.zshrc
中更改了别名。从哪个homestad
结果可以看出alias homestad='cd~/homestad'
实际上不起作用。可能还有另一行alias homestad='cd~/homestad'
隐藏在.zshrc
之后。双引号必须是ASCII,而不是ASCII范围之外的Unicode。在编辑器中加载文件,禁用单引号和双引号的任何自动篡改。然后用ASCII引号替换有趣的引号”
(代码十进制34,十六进制22,八进制042)。或在提示下键入命令,然后将其剪切并粘贴到编辑器中。如果所有其他操作都失败,请使用
printf 'alias homestead="cd ~/homestead"' >> ~/.zshrc
用八进制转储验证结果
od -bc .zshrc
引号上方的数字应显示为
042
您根本不需要在zsh
中定义此别名。将以下内容添加到.zshrc
中:
setopt autocd
cdpath+=(~)
第一个命令允许您将目录名视为命令,隐式地将当前shell的工作目录设置为命名目录。第二个命令指定如果当前目录没有名称与cd
一起使用的目录(或其本身与autocd
set一起使用的目录),然后尝试在cdpath
参数中命名的目录中查找它
有了这两个选项,只需键入
Homestead
将首先尝试运行名为Homestead
的命令;如果失败,它将尝试cd
到/Homestead
,如果失败,将最终成功地cd
到~/Homestead,答案是在下面的超文本中打开~/.zshrc
反对文本编辑和检查“
是否在八进制转储中显示为042
。只是说对我来说,修复的是列表中第一个带问号的别名中的错误
刚刚切换到MacOSCatalina和~/.bashrc
到~/.zshrc
,我想zsh不支持问号
也许它会帮助像我一样从谷歌搜索来到这里的人。也许。我已经更新了我的问题,使之更加明确。我如何解决这个问题?@BarryBlade,你可以运行哪个宅基地
来查看实际执行的内容。我已经将哪个宅基地的输出添加到我的主目录中question@BarryBlade,执行别名的输出是什么homestead='cd~/homestead'
?@BarryBlade,那么它怎么还能显示homestead:别名为“cd
?source~./zshrc
是打字错误?你的意思是source~/.zshrc
?是的。更正了编辑器越重-你会遇到越多的问题。Gedit rocks:)