在Linux中,我们是通过Shell这个东西来跟内核通信,Shell本身是一个由C语言编写得来的程序,因此一般将其看作是一种命令语言,有时候也看成一种程序设计语言,它是内核Kernel之上的,并不是Kernel的一部分,因此需要有解释器来解释执行Shell,常见的Shell解释器有bash、sh、csh、ksh等,因此,我们常说的Shell其实指的就是Shell程序的解释器,想bash shell指的就是bash解释器。
那这与Linux中的环境变量又有什么关系呢?继续往下看。
我们都知道,Linux是一个多用户的操作系统,不同的用户登录将拥有不同的运行环境。举个例子,我们可以使用mail命令来访问邮箱。假设我的Linux系统上面现在有两个用户liz和hlf。前者的邮箱目录是/var/spool/mail/liz,而后者的邮箱目录是/var/spool/mail/hlf,那我们在执行mail命令的时候是如何能够正确地取得自己的邮箱呢?这就是由MAIL变量决定的了。你可以在命令行模式下用echo $MAIL来查看当前登录用户所使用的信箱。因此你可以通过设置环境变量来决定一些shell命令的具体操作了。可以这么说,我们是使用shell来跟Linux系统通信,在进入shell之前,系统需要一些变量数据来指导它的访问方向。环境变量一般使用大写字母来表示,以区别自定义的变量。
那么PATH环境变量又是干什么用的呢?
顾名思义,PATH即路径,它所存放的内容是执行文件的查找路径,你可以使用echo $PATH来查看,每个目录之间用冒号(:)分隔开。这里的每个目录的前后顺序也是十分重要的,因为执行文件的查找是按照PATH变量从前往后进行的。
未完待续、、、