我正在尝试设置一个简单的别名来将我移动到我的计算机上的 Developer 文件夹中。然而,设置后,我得到一个奇怪的错误:
-bash: dv: command not found
我在 .bashrc 中设置了我的别名,如下所示:
alias dv='cd Developer/'
我只需输入
dv
即可使用它,然后收到该错误。有谁看到任何语法错误或我在这里缺少的别名吗?
运行
bash
,然后尝试该命令。
或者,将其放入
~/.bash_profile
中,它应该会自动加载。
.bashrc
仅在启动时读取。如果您刚刚修改了.bashrc
,那么您需要获取一个新的 shell 或获取当前的 shell 以查看应用的更改:
source ~/.bashrc
在您当前的 shell 中(尽管这可能会导致某些启动项运行两次,从而可能导致其他问题)exec bash
获得新外壳错误:
-bash:别名:cd /opt/logs:找不到别名log =“cd/opt/logs”
解决方案:
确保
=
符号后面没有空格
log="cd** /opt/logs"
来自
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
确保以下行存在于内部
.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",
正如我在我的案例中所做的那样;之后就完美运行了
有同样的问题尝试过,没有空格就像魅力一样 示例-$ alias cls='clear' 这就是我所做的一切。