.bash_profile和bashrc的区别
今天写了一个xcode打包后自动上传ipa到svn服务器的脚本,一下子感觉自动化+命令行才是王道。于是想平时的一些操作用图形化的界面虽然看上去人性化了,是不是有点过于繁琐,那就试试简洁的。
首先我想把本地的一个字典程序换成command line的,google了一下有个朋友已经写好了一个基于php的程序,这里我按照他的步骤安装了一下,发现在命令行里面输入dict的时候提示command not found.我猜测应该是.bashrc没有加载的缘故,之前只用过.bash_profile来设置一些环境变量,而.bashrc是我刚刚vi新建的。
于是继续google,查询了一下bash_profile和bashrc的一些区别
* <~/.bash_profile>每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件**仅仅执行一次**!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
* <~/.bashrc>该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取
* <~/.bash_logout>当每次退出系统(退出bash shell)时,执行该文件.
于是我尝试command+n一个新的Terminal,还是没有加载dict命令,然后我又找到了这篇文章,其中引用到一段话:
Mac OS X — an exception
也就是说在mac是一朵奇葩,他每次都会重新加载.bash_profile中的设置,默认的时候并不会加载.bashrc,按照文章中说的,我在.bash_profile中加了一个判断:
if [ -f ~/.bashrc ]; then source ~/.bashrc fi
最后重新command+n一个新的Terminal,搞定~
blog comments powered by Disqus