.bashrc 没有自动初始化?

.bashrc 没有自动初始化?

打开新终端时,我需要在初始化变量之前执行source ~/.bashrc或。我以为这会自动完成?我该怎么做才能不需要这样做。source ~./bash_profile$PATH.bashrc

答案1

我不确定我是否理解了你的问题但是:

您的 bash init 文件应在启动时启动。否则,您的系统配置不正确或已损坏。

您没有提到您的操作系统,但我猜您无论如何都在使用 Linux。

初始化顺序如下man bash

当 bash 被调用为交互式登录外壳或者作为带有 --login 选项的非交互式 shell,它首先从文件读取并执行命令/etc/配置文件,如果该文件存在。读取该文件后,它会查找的〜/ .bash_profile〜/ .bash_login, 和〜/ .profile,并读取并执行第一个存在且可读的命令。启动 shell 时可以使用 --noprofile 选项来禁止此行为。
交互式外壳启动非登录 shell 时,bash 会从以下位置读取并执行命令/etc/bash.bashrc~/.bashrc,如果这些文件存在。可以使用 --norc 选项来禁止。--rcfile 文件选项将强制 bash 从文件中读取并执行命令,而不是/etc/bash.bashrc~/.bashrc

例如,在 Ubuntu 发行版中,加载后/etc/profile,它会查找~/.profile如下文件:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

这意味着,如果使用 bash 并且文件~/.bashrc存在,它将被加载/获取,然后它将设置您的 $PATH 变量。

因此我建议您先查看您的~/.profile文件并在必要时修复它。

相关内容