我已经使用了许多不同的基于*nix的系统,看起来我使用的Bash的每种风格都有不同的算法来决定运行哪些启动脚本.出于设置环境变量和别名以及打印启动消息(例如MOTD)等任务的目的,启动脚本是否适合执行这些操作?
是什么把事情之间的差异.bashrc,.bash_profile以及.environment?我也看到其他的文件,例如.login,.bash_login和.profile; 这些是否相关?在物理登录,通过ssh远程登录以及打开新的终端窗口时,运行哪些不同?跨平台(包括Mac OS X(及其Terminal.app)和Cygwin Bash)是否存在显着差异?
默认情况下,OS X 10.6用于/usr/libexec/path_helper添加文件中列出的以下路径/etc/paths:
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
Run Code Online (Sandbox Code Playgroud)
这意味着在路径/usr/bin之前/usr/local/bin.这导致的版本通过的Xcode 4的git安装在/usr/bin被调用,而不是通过自制软件安装到的版本/usr/local/bin.
这引出了我的问题,是否有一个问题,/usr/local/bin来到/usr/bin路径前?是否有一个特定的原因,苹果默认/usr/bin以前来过/usr/local/bin?
/usr/bin和的顺序/usr/local/bin/usr/local/bin从文件底部移到/etc/paths顶部是一个问题吗?这样做会影响路径,而不仅仅是当我启动终端时,因为/usr/libexec/path_helper可以被其他资源使用(我不确定这一点).
虽然多余,但我似乎更安全地添加/usr/local/bin到路径中~/.bash_profile,这意味着/usr/local/bin将在路径上两次.