Macos Bash别名:未找到命令

Macos Bash别名:未找到命令,macos,bash,alias,Macos,Bash,Alias,我正在尝试设置一个简单的别名,以便将我移动到计算机上的开发人员文件夹中。但是,在设置之后,我发现了一个奇怪的错误: -bash: dv: command not found 我在.bashrc中设置别名,如下所示: alias dv='cd Developer/' 我只是通过键入dv来使用它,然后得到那个错误。有人看到别名的语法错误或我这里缺少的东西吗?运行bash,然后尝试该命令 或者,将其放入应自动加载的~/.bash\u配置文件中。.bashrc仅在启动时读取。如果您刚刚修改了.bas

我正在尝试设置一个简单的别名,以便将我移动到计算机上的开发人员文件夹中。但是,在设置之后,我发现了一个奇怪的错误:

-bash: dv: command not found
我在.bashrc中设置别名,如下所示:

alias dv='cd Developer/'

我只是通过键入
dv
来使用它,然后得到那个错误。有人看到别名的语法错误或我这里缺少的东西吗?

运行
bash
,然后尝试该命令


或者,将其放入应自动加载的
~/.bash\u配置文件中。

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

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

-bash:alias:cd/opt/logs:notfoundaliaslog=“cd/opt/logs”

解决方案:

确保
=
符号后没有空格

log="cd**  /opt/logs"

确保
.bash\u配置文件中存在以下行

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

如果没有,则将其添加到开头。
.bash\u profile
使用此代码加载
.bashrc

如果
.bash\u profile
中不存在此行,则不会加载在
.bashrc
中键入的任何内容。

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

bash -i -c my_alias

我有同样的问题,但最奇怪的解决办法。我将它从Windows机器复制到OSX,由于某种原因,使用的空间不同,当我用普通空间替换它们时,它工作了。它不是标签,我不知道它是什么。

你确定正在阅读
.bashrc
?在我的机器上,
.bashrc
被忽略,而使用的是
.profile
。我一点也不确定,我可以尝试将其添加到.bash\u配置文件中。编辑:这正是我想要的,如果你把你的评论移动到一个答案,我会接受它,谢谢!在Mac OS X中,终端仿真器启动登录shell而不是简单的交互式shell,因为终端仿真器本身(通常)不是从已经是登录shell的
bash
会话启动的。不知道为什么会被否决,因为这使它起作用。有没有办法不必键入bash,让它从一开始就读取文件?这正是我想要的。事实上,我不认为那是真的。我很确定
.profile
.bashrc
只有在您启动shell时才会加载。如果您要手动运行命令,最好重新配置点文件的源代码,而不是启动新的shell(并保持旧的shell运行)。也就是说:
exec bash
用新实例替换旧的bash实例(理解这会清除shell中的其他局部状态——变量、定义的函数等),或
source~/.bashrc
以使用现有shell运行~/.bashrc中的所有命令。@nneo此类变量应在
.bash\u profile
中设置,而不是
.bashrc
中设置。正是出于这个原因。
.bashrc
是由any(非登录)提供的交互式shell;
bash
可以在现有的
bash
会话中执行。我通常在我的配置文件中添加
[[-f~/.bashrc]]&&.~/.bashrc
。可能