Bash 别名:找不到命令

Bash alias: command not found

我正在尝试设置一个简单的别名,以便将我移动到我机器上的 Developer 文件夹中。然而,在设置之后,我得到了一个奇怪的错误:

-bash: dv: command not found

我在 .bashrc 中设置了我的别名,如下所示:

alias dv='cd Developer/'

我通过输入 dv 来使用它,然后得到那个错误。有没有人看到任何语法错误或我在这里遗漏的别名?

运行 bash 然后尝试命令。

或者,把它放在 ~/.bash_profile 应该会自动加载。

.bashrc 仅在启动时读取。如果您 只是 修改了您的 .bashrc,那么您需要获取一个新的 shell 或获取当前的 shell 以查看应用的更改:

  • source ~/.bashrc in your current shell(尽管这可能会导致某些启动项 运行 两次,这可能会导致其他问题)
  • exec bash 得到一个新的 shell
  • 只需打开一个新终端window

错误:

-bash: alias: cd /opt/logs: not found alias log= "cd /opt/logs"

解决方案:

确保=符号后没有space

log="cd**  /opt/logs"

确保 .bash_profile

中存在以下行

test -f ~/.bashrc && . ~/.bashrc

如果没有则将其添加到开头。 .bash_profile 使用此代码加载 .bashrc。 如果 .bash_profile 中不存在此行,则不会加载您在 .bashrc 中键入的任何内容。

另一种解决方案是使用 -i -c 选项通过 bash 调用您的命令:

bash -i -c my_alias

我遇到了同样的问题,但这是最奇怪的解决方案。我正在将它从 Windows 机器复制到 OS X,由于某种原因,使用的空间不同,当我用普通空间替换它们时,它起作用了。这不是标签,我不知道它是什么。

我在为 mongoDB 创建别名时遇到了类似的问题; 您可以尝试将整个路径放在主目录中的 .bash_profile 中,如下所示:

别名 mongo="/c/Program\Files/MongoDB/Server/5.0/bin/mongo.exe",

正如我在我的案例中所做的那样;在此之后它完美运行