conda环境中的bash别名

conda环境中的bash别名,bash,conda,Bash,Conda,我的.bash\u配置文件中有一个别名,可以直接转到我的工作文件夹: alias workings='cd desktop/working_folder/' 因此,每次我在终端中键入工作,它将光盘桌面/working\u文件夹/ 但在conda中的终端中,这不起作用: bash:workings:未找到命令 我相信在conda的情况下,.bash\u档案在其他地方,但我找不到它 如何解决此问题?改用导出函数 如果您创建导出函数而不是别名,则它将可用于从导出该函数的shell继承环境变量的所有b

我的
.bash\u配置文件中有一个别名,可以直接转到我的工作文件夹:

alias workings='cd desktop/working_folder/'
因此,每次我在
终端
中键入
工作
,它将
光盘桌面/working\u文件夹/

但在
conda
中的
终端
中,这不起作用:

bash:workings:未找到命令

我相信在
conda
的情况下,
.bash\u档案
在其他地方,但我找不到它

如何解决此问题?

改用导出函数 如果您创建导出函数而不是别名,则它将可用于从导出该函数的shell继承环境变量的所有bash实例

workings() { cd ~/desktop/working_folder/; };
export -f workings

或者:选择正确的点文件 通常,在UNIX上,
~/.bash_profile
(及其前身
~/.profile
)仅为登录shell运行。传统上,每个会话只有一个登录shell,未来的终端窗口运行非登录交互式shell(而不是source
~/.bashrc

因此,对于传统配置的UNIX系统,您需要将别名放入
~/.bashrc
,而不是
~/.profile
,以便它们在启动图形会话后打开的常规图形终端中生效

然而,MacOS并不是这样一个传统的系统:所有终端窗口都启动登录shell,这就是为什么在
~/.bash_profile
中放置别名通常有效。。。直到您运行的shell不是由终端程序直接启动的

因此,最佳做法是执行以下两项:

  • 将别名和非导出变量/shell运行时设置/etc从
    ~/.bash\u profile
    移动到
    ~/.bashrc
  • 源代码
    ~/.bashrc
    来自
    ~/.bash_profile
    ,因此这些定义在常规终端中仍然可用
有关此功能的详细信息,请参见上的