login 与 non-login shell
在了解linux 环境配置文件前,先了解login 和non-login shell , 因为这两个取得 bash 的情况中,读取的配置文件数据并不一样所致
- login shell:取得 bash 时需要完整的登陆流程的,就称为 login shell。举例来说,你要由 tty1 ~ tty6 登陆,需要输入用户的账号与密码,此时取得的 bash 就称为『 login shell 』啰;
- non-login shell:取得 bash 接口的方法不需要重复登陆的举动,举例来说,(1)你以 X window 登陆 Linux 后, 再以 X 的图形化接口启动终端机,此时那个终端接口并没有需要再次的输入账号与密码,那个 bash 的环境就称为 non-login shell了。(2)你在原本的 bash 环境下再次下达 bash 这个命令,同样的也没有输入账号密码, 那第二个 bash (子程序) 也是 non-login shell 。
- /etc/profile:这是系统整体的配置,你最好不要修改这个文件;
- ~/.bash_profile 或 ~/.bash_login 或 ~/.profile:属于使用者个人配置,你要改自己的数据,就写入这里
- ~/.bash_profile
- ~/.bash_login
- ~/.profile
其实 bash 的 login shell 配置只会读取上面三个文件的其中一个, 而读取的顺序则是依照上面的顺序。也就是说,如果 ~/.bash_profile 存在,那么其他两个文件不论有无存在,都不会被读取。 如果 ~/.bash_profile 不存在才会去读取 ~/.bash_login,而前两者都不存在才会读取 ~/.profile 的意思。
Linux 配置JDK环境变量
本人配置在~/.bash_profile: ~ 表示当前用户 目录在/home/目录下
vi ~/.bash_profile
在文件的末尾加上JAVA_HOME变量,配置好PATH, CLASSPATH
export JAVA_HOME={java 安装目录}
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存好,运行 source ~/.bash_profile, 让刚才配置的环境变量生效
运行 java -version 可以看到java的版本信息证明配置成功
Linux 配置Android sdk环境变量
本人配置在~/.bash_profile: ~
表示当前用户 目录在/home/目录下
vi ~/.bash_profile
在文件的末尾加上ANDROID_HOME变量,配置好PATH
export ANDROID_HOME={android sdk 目录}
export PATH=${ANDROID_HOME}/platform-tools/:${ANDROID_HOME}/tools/:$PATH
保存好,运行 source ~/.bash_profile,
让刚才配置的环境变量生效
另外如果大家安装的是
amd 64位的ubuntu 安装好之后 即使你正确配置了 android 的环境变量 应该也还是不可以使用adb 命令的 在终端输入adb 大概会有这样一个错误提示:
android-sdk-linux_86/platform-tools/adb: 没有那个文件或目录。
解决方法:由于是64bit的系统,而Android sdk只有32bit的程序,需要安装ia32-libs,才能使用。
执行以下命令 方可OK 。
sudo apt-get install ia32-libs
这里要下载很多的文件上百M.
参考: http://vbird.dic.ksu.edu.tw/linux_basic/0320bash.php#settings
http://byandby.iteye.com/blog/1159592