行不以.bash_profile中执行和.bashrc中我的Mac OSX雪豹
-
22-09-2019 - |
题
我刚刚安装的Ruby版本管理器(RVM),这是工作的罚款,但要求我把下面的一行在我/.bash_profile和在〜/ .bashrc文件:
if [[ -s /Users/tammam56/.rvm/scripts/rvm ]] ; then source /Users/tammam56/.rvm/scripts/rvm ; fi
看内容我看到如下:
tammam56$ cat /.bash_profile
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
if [[ -s /Users/tammam56/.rvm/scripts/rvm ]] ; then source /Users/tammam56/.rvm/scripts/rvm ; fi
tammam56$ cat ~/.bashrc
export PATH=/usr/local/bin:$PATH
export MANPATH=/usr/local/man:$MANPATH
if [[ -s /Users/tammam56/.rvm/scripts/rvm ]] ; then source /Users/tammam56/.rvm/scripts/rvm ; fi
然而,当我开始新的终端窗口它不执行,我知道这是我设置我的默认红宝石优化版本1.9,如果我手动执行行我得到了正确版本的命令:
tammam56$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]
Macintosh-37:~ tammam56$ if [[ -s /Users/tammam56/.rvm/scripts/rvm ]] ; then source /Users/tammam56/.rvm/scripts/rvm ; fi
Macintosh-37:~ tammam56$ ruby -v
ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-darwin10.2.0]
任何想法我怎么能解决呢?
谢谢,
担
解决方案
如果你有一个〜/ .profile中尝试添加以下行吧。
如果[[-s /Users/tammam56/.rvm/scripts/rvm]];然后,源/Users/tammam56/.rvm/scripts/rvm;网络
其他提示
你有没有证实的.bashrc其他命令和/或.bash_profile中得到适当的更新?
接下来应确认终端是否正在启动壳作为登录shell与否(参见下首选项 - >启动)。
从bash帮助页面:
当的bash被调用以交互登录壳,或作为非间 与--login选项活跃的壳,它首先读取并执行的COM 从文件/ etc / profile文件Main technical nperfommances规格,如果该文件存在。看完之后 该文件,它会查找在〜/ .bash_profile,〜/ .bash_login文件,和〜/ .profile文件, 的顺序,并且读取和从第一个执行命令 存在并且是可读的。可以使用--noprofile选项时, 壳被启动以抑制此现象。
当开始一个交互式壳不是登录shell时,bash 读出并执行的命令从〜/ .bashrc中,该文件是否存在。这个 可以通过使用--norc选项抑制。该--rcfile文件选项 将强制bash读取和文件,而不是执行命令 〜/ .bashrc中。
我发现这个问题,最简单的方法是将所有的内容移动从我的〜/ .bashrc文件(所以我的〜/ .bashrc现在是空的)到一个新的〜/ .bash_profile文件中。现在,所有Terminal.app选项卡自动运行包含在〜/ .bash_profile中的所有行。这也适用于的iTerm。