2012-04-13 106 views
0

我的MAC是让头发连线后,我改变控制台的ksh,再改回为/ bin/bash的缺少宝石

  1. 控制台提示符现在是静态的bash-3.2不管当前目录下我在,同时在.bash_profile中我已经设置#修改控制台 出口PS1 =“\ W>”

  2. 耙宝石和其他一些在Ruby中丢失,虽然它被重新安装后,再次我运行包安装,但有后续奇怪的问题,例如rake命令没有打到正确的rake文件..

有什么想法吗?

非常感谢。

+0

我找到了中间的原因是因为.bash_profile中从来没有阅读,任何想法为什么? – iwan 2012-04-13 11:15:58

回答

0

.bash_profile只有在第一次登录时才由bash运行。(如果您将终端设置为使每个shell成为“登录shell”,它只能由终端运行)。如果每次启动bash时都要运行命令,即使它不是登录shell,也应该将它们放入.bashrc中。但是,您始终可以通过运行bash --login而不是仅仅通过bash将shell变成登录shell。

不知道你的ksh来自哪里,但是请注意它并不理解提示字符串中的'\ W'等,所以我希望你在提示符中获得一个文字'\ W'而不是展开工作目录。如果您将ksh作为登录shell运行,则可能是.profile(或/ etc/profile等)中的某些内容。 ksh没有与.bashrc完全相同的内容,但是如果在配置文件运行后将$ ENV设置为文件名,那么该文件也会执行(即使在非登录shell中,如果在shell启动时已经设置了ENV) 。当然,Ksh忽略.bash_profile和.bashrc。

由于没有裁判在你的问题的体宝石(了?),你可能要改变的问题,并删除了Ruby标签...

+0

感谢马克,你的建议(创建.bashrc文件并把bash --login里面)解决了我的问题。但实际上我不明白它为什么会发生变化(不知道是否在改变为ksh之前.bashrc是否存在)。非常感谢!! – iwan 2012-04-14 10:38:35