在Linux和SHELL编程中,PATH变量是一个关键的概念,它定义了操作系统搜索可执行程序的顺序。当我们在终端中输入一个命令,比如`javac`,系统首先会查找PATH指定的目录,寻找相应的程序。对于Java环境,PATH设置尤为重要,因为`JAVA_HOME`、`CLASSPATH`和`PATH`这三个环境变量紧密相关:
1. **JAVA_HOME**:这个变量指向JDK安装的根目录,例如`/opt/jdk1.8.0_XX`。它提供了Java的核心API和工具,如javac编译器。
2. **CLASSPATH**:尽管在题目中未提及,但通常CLASSPATH用于指定Java类库的路径,使得Java虚拟机(JVM)能够找到类文件。在早期,`.`(当前目录)通常会被添加到CLASSPATH,以便运行当前目录下的类。
3. **PATH**:是至关重要的环境变量,它定义了一个冒号分隔的目录列表,当用户尝试执行一个命令时,系统会依次查找这些目录中的可执行文件。配置Java环境时,将`JAVA_HOME/bin`添加到PATH,确保`javac`等工具可被系统找到。
在Linux环境下,配置这些变量通常是通过编辑`/etc/profile`这样的系统初始化脚本来完成的。具体步骤如下:
- 打开终端,使用`vi`编辑器打开`/etc/profile`。
- 在文件中添加或修改以下行:
- `JAVA_HOME=JDK存放位置`
- `CLASSPATH=.(当前目录)`
- `PATH=$JAVA_HOME/bin:$PATH`(追加新路径,避免覆盖原有路径)
- 通过`export`命令确保这些变量被系统读取:`export JAVA_HOME CLASSPATH PATH`
- 保存并退出编辑器,然后通过`source .bash_profile`或重新登录shell让新的环境变量生效。
此外,vi编辑器是一个强大的文本处理工具,尤其适合程序员进行文本编辑。虽然它的命令较多且没有图形界面,但掌握其命令和模式可以大大提高效率。例如,vi支持撤销、查找与替换、块操作等基础功能,以及高级功能如多行输入、参数高亮显示和命令行编辑。在vim(vi的更现代版本)中,还可以享受多窗口和多缓冲区编辑等特性。
最后,要注意的是,在vi中对文本的修改如果不主动保存,将存储在内存缓冲区,可能因意外中断而丢失。Linux系统会在打开文件时自动生成交换文件(.swp),作为潜在的恢复点。当系统遇到意外情况导致文件丢失时,可以通过这些备份文件进行恢复。为了让环境变量更改在用户注销或重启shell后依然生效,通常需要在系统的初始化配置文件中进行设置。