Bash别名:找不到命令

问题描述:

我试图设置一个简单的别名将我移动到我的机器上我的开发人员文件夹中。然而,设置它后,我得到一个奇怪的错误:Bash别名:找不到命令

-bash: dv: command not found 

设置我的.bashrc中的别名,像这样:

alias dv='cd Developer/' 

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

+0

你确定正在读取'.bashrc'吗?在我的机器上,'.bashrc'被忽略,而使用'.profile'。 – nneonneo

+0

我不是100%肯定的,我可以尝试将它添加到我的.bash_profile中。编辑:这正是我所追求的,如果你将你的评论移到答案我会接受它,谢谢! –

+1

在Mac OS X中,终端模拟器启动登录shell而不是简单的交互式shell,因为终端模拟器本身不是(通常)从已经是登录shell的'bash'会话启动的。 – chepner

运行bash然后尝试该命令。

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

+0

不知道为什么你被拒绝投票,因为它得到了它的工作。有什么办法可以不必输入bash来让它从正常的地方读取文件?这真的是我更喜欢的。 –

+0

我被低估了,因为最好把它放在'〜/ .profile'中,以便自动运行。只有在运行'bash'后才会加载'〜/ .bashrc'。 – pushkin

+0

我不认为这是真的,实际上。我非常确定'.profile'和'.bashrc'都只在你启动你的shell时才加载。 – nneonneo

.bashrc仅在启动时读取。如果您只是修改您的.bashrc,那么你需要得到一个新的外壳或获取当前的shell,查看应用的变化:

  • source ~/.bashrc在当前的shell(虽然这可能会导致某些启动项运行两次,这可能会导致其他问题)
  • exec bash得到一个新的外壳
  • 只是打开一个新的终端窗口
+0

我通常添加'[[-f〜/ .bashrc]] &&。 〜/ .bashrc'在我的个人资料中。 –

错误:

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

解决方案:

,注意保证=符号后面没有空格

log="cd** /opt/logs" 

确保下面一行出现内部.bash_profile

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

如果没有,那么加它到了一开始。此代码被.bash_profile用于加载.bashrc。 如果.bash_profile内部不存在此行,则不会加载您在.bashrc中输入的任何内容。