.bashrc和profile的异同

来源:互联网 发布:java jsonarray 添加 编辑:程序博客网 时间:2024/04/30 21:24

最近在家里装了一个sidux linux。给它安装和配置jdk的时候遇到了一些小问题。解决之后,总结一下。

首先是安装。随便找了位置,就开始安装。但是发现jdk竟然就给安装在了我执行安装的目录下面,而不是传说中的/usr/java下面。只好切换到root下面,然后在/usr下面手动建立了java文件夹,然后在这下面进行安装,位置问题才算搞定。

或者说,应该把所谓的“安装好的文件”拷贝到/usr/java下面么?至少看起来可以这么干。

然后是配置JAVA_HOME等环境变量。刚刚开始的时候,有人告诉我说配置在.bashrc里面。 说这个是对个人的,我以前配置在/etc/profile下面,会对所有人起作用,不好。可惜我配置好后,怎么也跑不起来java程序。上网学习了一把,才算搞明白这个问题。

原来,profile文件是在用户登录的时候进行初始化的,/etc/profile和~/.profile分别对应所有用户和单个用户。而~/.bashrc文件,则是在每次启动一个shell的时候,对环境进行初始化,感觉,有些像windows下面那些特殊的cmd窗口,比如.net调试的cmd窗口。而我正好要在图形界面下面执行程序,并且是系统一启动就进入桌面环境的。这样一来,.bashrc就没有被执行,我配置的环境变量当然也就还在家里休息了。

明白了这些文件的用途之后,相信以后再配置系统环境的时候,就不会再出问题了。

感兴趣的可以看看英文的解释:

The /etc/profile file is a system wide initialization script which is run at login time for each user, while .profile is the users own login initialization. The .bashrc file is an initialization file run by each interactive invocation of the bash shell.