这些是~/.profile
我的13.10附带的库存内容(已删除注释行):
if [ -n "$BASH_VERSION" ]; then
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
这是从Debian继承的,但是Canonical为什么决定保留它?据我所知,这不是标准的* nix方式,而且我已经看到各种系统都没有发生这种情况,因此我认为它们一定有充分的理由。当运行用户不希望获得~/.bashrc
源代码的登录Shell(例如,在ssh进入计算机)时,这可能会导致意外行为。
我能想到的唯一好处是,不会使用户混淆许多启动文件,并允许他们.bashrc
单独编辑并可以读取该文件,而不管外壳类型如何。但是,这是一个可疑的好处,因为为登录名和交互式shell设置不同的设置通常很有用,这会阻止您这样做。此外,登录外壳程序通常不在图形环境中运行,这可能会导致错误,警告和问题(哦,天哪!),具体取决于您在这些文件中设置的内容。
那么,为什么Ubuntu会这样做,我想念的是什么?
.profile
source .bashrc
不是所有Linux版本都这样,我想知道它背后的原理是什么。
-n "$BASH_VERSION"
在bash之外是真的?