Bash 别名:找不到命令

问题描述 投票:0回答:9

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

-bash: dv: command not found

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

alias dv='cd Developer/'

我只需输入

dv
即可使用它,然后收到该错误。有谁看到任何语法错误或我在这里缺少的别名吗?

macos bash alias
9个回答
29
投票

运行

bash
,然后尝试该命令。

或者,将其放入

~/.bash_profile
中,它应该会自动加载。


14
投票

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

  • source ~/.bashrc
    在您当前的 shell 中(尽管这可能会导致某些启动项运行两次,从而可能导致其他问题)
  • exec bash
    获得新外壳
  • 只需打开一个新的终端窗口

8
投票

错误:

-bash:别名:cd /opt/logs:找不到别名log =“cd/opt/logs”

解决方案:

确保

=
符号后面没有空格

log="cd**  /opt/logs"

4
投票

来自

man bash

       Aliases  are  not expanded when the shell is not interactive, unless the expand_aliases shell option is
       set using shopt (see the description of shopt under SHELL BUILTIN COMMANDS below).

因此,如果您想在脚本上使用别名,请在脚本文件中添加此行:

shopt -s expand_aliases

2
投票

确保以下行存在于内部

.bash_profile

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

如果没有,请将其添加到开头。

.bash_profile
使用此代码来加载
.bashrc
。 如果
.bash_profile
中不存在此行,则您在
.bashrc
中键入的任何内容都不会被加载。


2
投票

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

bash -i -c my_alias

0
投票

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


0
投票

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

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

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


0
投票

有同样的问题尝试过,没有空格就像魅力一样 示例-$ alias cls='clear' 这就是我所做的一切。

© www.soinside.com 2019 - 2024. All rights reserved.