打开新终端时没有执行.bashrc

Modified on: Sat, 09 Jun 2018 20:48:53 +0800

当我在Ubuntu 12.04中打开一个新的终端窗口时,.bashrc中的代码不会执行。
我在创建.bash_aliases文件时注意到了这一点。当我打开一个新终端时,别名没有出现。但是,当我输入source .bashrc时,别名确实会显示出来。

每当我打开一个新的终端窗口时,应该运行.bashrc吗?

如何实现这一目标?

最佳答案

不一定是跑步;标准.bashrc的顶部是这个评论:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

我相信有一个选项可以将bash终端作为登录shell运行。使用Ubuntu,gnome-terminal通常不作为登录shell运行,因此.bashrc应该直接运行。

对于登录shell(如虚拟终端),通常运行文件~/.profile,除非您有~/.bash_profile~/.bash_login,但默认情况下不存在。默认情况下,Ubuntu仅使用.profile。

标准~/.profile中包含以下内容:

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

如果可用,则运行.bashrc - 假设您的环境中存在$ BASH_VERSION。您可以通过输入命令echo $BASH_VERSION来检查这一点,它应该显示有关版本号的一些信息 - 它不应该是空白的。

作者:,Marty Fried

相关问答

添加新评论