[英]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
(虽然这可能导致一些启动项运行两次,这可能会导致其他问题) exec bash
获得一个新的shell 确保.bash_profile
包含以下行
test -f ~/.bashrc && . ~/.bashrc
如果没有,那么将其添加到开头。 .bash_profile
使用此代码加载.bashrc
。 如果.bash_profile
没有此行,则不会加载您在.bashrc
键入的任何内容。
来自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:别名:cd / opt / logs:not found alias log =“cd / opt / logs”
方案:
确保=
符号后没有空格
log="cd** /opt/logs"
另一个解决方案是使用-i -c选项使用bash调用您的命令:
bash -i -c my_alias
我有同样的问题,但最奇怪的解决方案。 我正在将它从 Windows 机器复制到 OS X,由于某种原因,使用的空间不同,当我用普通空间替换它们时,它起作用了。 这不是标签,我不知道它是什么。
我在为 mongoDB 创建别名时遇到了类似的问题; 您可以尝试将整个路径 inside.bash_profile 放在您的主目录中,如下所示:
alias mongo="/c/Program\ Files/MongoDB/Server/5.0/bin/mongo.exe",
正如我在我的案例中所做的那样; 在此之后它工作得很好
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.