原来在学习Python的时候,由于使用Windows,看别人的博客上写要配置环境变量,感觉怎么和Java一样麻烦,一直也不太理解环境变量到底是什么。
后来在学习Linux的时候使用命令行,各种目录的切换,才算基本明白了这个东西究竟是什么。首先在CMD或者Terminal模式下,不是图形界面的那种环境,
要执行一个命令或者运行一个程序都是在当前目录下运行的,除非你加上路径符合,比如上一级目录,或者某个盘符的目录和文件名才能执行。那么环境变量呢?
按照百度百科的说法:
"环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等。这点有点类似于DOS时期的默认路径,当你运行某些程序时除了在当前文件夹中寻找外,还会到设置的默认路径中去查找。简单地说这里的“Path”就是一个变量,里面存储了一些常用命令所存放的目录路径。"
也就是说,你要运行的东西不在当前目录,而你又想要在当前目录里javac一下,那么就要告诉电脑你这个命令究竟在哪执行,也就需要设置PATH的一个变量:
%PATH% 系统 指定可执行文件的搜索路径。
其次环境变量是一个目录,而不是一个程序。可以设置很多个程序目录的环境变量。
在Windows中,可以使用ruby打印出环境变量的值:
puts ENV['path']
PS:只是不太明白Java的厂商为啥不自动把它的环境变量加入PATH里,至少可以在安装时候加个选项,可以自动加载到PATH里,省得初学者因为搞不定配置环境变量而头疼。哈哈。