bashrc不加载,直到运行bash命令

我正在运行新安装的Arch Linux。 当我login到用户(运行bash)并尝试使用.bashrc中的别名时,它给了我'找不到命令'的错误。 但是,如果我通过'bash'命令重新进入bash,命令就可以正常工作。

是的,我已经在bash。

env最初:

SHELL=/usr/bin/bash 

env在运行bash之后,仍然是:

 SHELL=/usr/bin/bash 

所以我不太确定问题在哪里。

Solutions Collecting From Web of "bashrc不加载,直到运行bash命令"

请阅读“bash(1)”中的INVOCATION部分以获取完整的详细信息(这是bash的手册页;使用man bash )。 登录时你的第一个shell是一个“登录shell”,这意味着.bashrc文件不是来源的。 您的第二次调用将创建一个交互式shell,其中.bashrc来源。

如果您总是希望处理.bashrc文件的内容,则可以.bashrc添加到.bash_profile文件中,如果该文件尚不存在,则创建该文件:

 if [ -f ~/.bashrc ]; then . ~/.bashrc fi 

根据其手册页,bash“依次查找~/.bash_profile~/.bash_login~/.profile ,并从第一个存在且可读的命令读取和执行命令。 您的本地系统的惯例和政策将决定哪些文件(如果有的话)已经存在。

请注意:在主目录中创建一个新的.bash_profile可能会产生意想不到的副作用,即阻止已经存在的.bash_login.profile文件中的命令的读取和执行,进一步改变后续登录的行为。

你看过你的~/.profile~/.bash_login~/.bash_profile文件吗?