rvm安装后会在 $HOME/.bash_profile 文件追加一行代码:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

这行代码的作用是在用户登录会话时初始化rvm。如果系统中原来没有 .bash_profile 这个文件,rvm会自动创建这个文件,这就产生一个潜在的问题。

shell启动时会按照一定的顺序自动加载一些脚本。默认情况下(没有.bash_profile),shell会加载 $HOME/.profile 这个文件。然而,如果 .bash_profile 存在的话,.profile 就不会被主动加载,除非 .bash_profile 有命令shell加载。.profile没有加载的话,.bashrc 也不会被加载,因为后者是在前者的执行source命令加载的。由于很多人把个人配置项都写在 .profile 或 .bashrc 中,rvm的做法就导致了很多个人配置就没有生效,如环境变量等。当然,有时候这个问题不那么好发现。因为,shell因登陆方式不同,自动加载脚本的方式也有不同。所以上面的问题在桌面环境下可能发现不了,而如果通过ssh登陆(xterm),就有可能出现一种现象:ls之后,目录和普通文件颜色都一样了。

解决办法很简单,在.bash_profile后追加一行代码即可:

[ -f $HOME/.profile ] && source $HOME/.profile

在rvm安装以后似乎有个提示提到了.profile,但是我按照网上的文章操作,没细看就忽略了。为什么rvm作者不自己解决一下这个问题呢?

rvm 安装后的补充工作:source $HOME/.profile的更多相关文章

  1. fedora27安装后的配置工作(持续更新)

    换源 没什么可说的,安装后更换国内软件源是必须做的事,推荐更换阿里的镜像源.换源教程 添加epel源 EPEL (Extra Packages for Enterprise Linux)是基于Fedo ...

  2. Sybase安装后的配置工作

    1.配置数据库参数 配置sybase数据库使用的最大内存 用isql命令行实用工具登录sybase数据库服务器,其中的servername是$SYBASE/interfaces文件中配置的sybase ...

  3. CentOS 7安装后的一些工作记录

    安装net-tools: yum install -y net-tools 安装epel源 yum install epel-release 安装fail2ban yum install fail2b ...

  4. 如何调教Android Studio-Windows安装AS后的必备工作

    未完待续... 工欲善其事必先利其器,你已经抛弃被大众诟病的Eclipse投入Google亲儿子Android Studio的怀抱,可是不了解As的脾气,怎么让它服服帖帖的为提高开发效率做贡献呢. 关 ...

  5. 基于iSCSI的SQL Server 2012群集测试(二)--SQL群集安装后初始化配置测试

    4.群集安装后初始化配置测试 4.1 禁用full-text 服务和Browser服务 Full-text服务:公司目前暂不使用,需在两个节点上分别禁用 Browser服务:为保证安全,建议将Brow ...

  6. Inno Setup入门(十一)——完成安装后执行某些程序

    Inno Setup入门(十一)——完成安装后执行某些程序 2011-02-16 16:24:23|  分类: Inno Setup |  标签:inno  setup   |举报 |字号 订阅   ...

  7. Kali Rolling在虚拟机安装后的设置

    Kali Linux在2016年的第一个发行版——Kali Rolling是Debian的即时更新版,只要Debian中有更新,更新包就会放入Kali Rolling中,供用户下载使用.它为用户提供了 ...

  8. 通过RVM安装Ruby失败

    第一次安装失败是由于Homebrew一直安装不成功,遂去http://brew.sh/index_zh-cn.html官网 通过 /usr/bin/ruby -e "$(curl -fsSL ...

  9. Inno Setup入门(十一)——完成安装后执行某些程序

    有些时候我们的程序虽然能够很好的完成安装,但是程序的配置工作可能需要其他的一些程序来辅助完成,如果不执行这些程序,主程序就不能很好的完成工作,甚至不能完成工作,一个很明显的例子是,目前许多程序是通过N ...

随机推荐

  1. mysql 逻辑查询语句执行顺序

    一 SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOI ...

  2. jira 从数据库 切换到mysql

    通过JIRA管理员登录,进入“管理员页面”,“系统”--“导入&导出”,以XML格式备份数据. 在MySQL中创建Schema,命名为jira 关闭JIRA服务 备份一下JIRA的安装目录和数 ...

  3. 《Effective C++》——条款17:以独立语句将newed对象置入智能指针

    假设有如下两个函数: int priority(); void processWidget(std::tr1::shared_ptr<Widget>pw, int priority); 对 ...

  4. 常用服务搭建(nfs/ftp/samba)

    一. NFS1. NFS简介NFS全称是network file systemNFS允许一个系统在网络上与他人共享目录和文件.通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件. 假 ...

  5. 网络编程基础--IO模型

    一 IO模型介绍: 背景 是 Linux环境下 的 network IO , Third Edition: The Sockets Networking ”,.2节“I/O Models ”,Stev ...

  6. swing之复杂登陆界面的实现

    package jiemian; import gonggong.message; import gonggong.messageType; import gonggong.user; import ...

  7. 使用Nginx配置资源虚拟路径

    不实用Nginx的时候我们会使用虚拟路径来配置: 在tomcat下的conf/server.xml中增加一个代码 在<Host></Host>中间 如下: <!--增加的 ...

  8. Python函数-all()

    all(iterable) 作用: 如果iterable的所有元素不为0.''.False或者iterable为空,all(iterable)返回True,否则返回False:函数等价于: def a ...

  9. CF 622F The Sum of the k-th Powers——拉格朗日插值

    题目:http://codeforces.com/problemset/problem/622/F 发现 sigma(i=1~n) i 是一个二次的多项式( (1+n)*n/2 ),sigma(i=1 ...

  10. hdu 2899 Strange fuction——模拟退火

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2899 还可三分.不过只写了模拟退火. #include<iostream> #include& ...