为什么每次通过 SSH 连接时都需要手动获取 ~/.bashrc ?

1 ssh bash bashrc

我正在使用 ubuntu 18.04 ,并使用 ssh 连接到我实验室的服务器。但是从一周前开始,每次我通过 ssh 打开终端时,我都无法使用conda activate *它说没有命令“conda”。 然后我尝试了很多方法,发现我需要写

source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

然后我可以使用 conda 并且一切 正常。 为什么我的终端在重新启动终端时无法自动运行 .bashrc?有谁知道为什么会发生以及如何永久解决它?

我检查了该.bashrc文件,看起来效果很好,我确实有一个.bash_profile文件,但它是空的,我不知道它是否与我的情况有关。而且我没有.bash_login文件。

Art*_*ild 5

将以下内容添加到您的~/.bash_profileor ~/.profile:(因为~/.bash_profile您可以省略外部“if”语句来检查您是否正在运行 Bash)

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi
Run Code Online (Sandbox Code Playgroud)

或者,如果您已有包含~/.profile正确内容的 ,则可以删除~/.bash_profile, 并将~/.profile被使用。

  • 太感谢了 !!!我认为这是因为我同时拥有`~/.bash_profile`和`~/.profile`,但是我的`~/.bash_profile`是空的,当我删除空文件时,一切正常。多谢 ! (2认同)