在理解环境变量前,linux下执行ls之类的命令都是不需要带./的,但是在我们自己编写了一个c文件,却需要使用./,原因在于有环境变量,我们可以使用echo $PATH去查看
我们能执行ls是因为ls在/usr/bin/ls下,而环境变量正好有这个路径,所以我们需要把他倒入我们的环境变量里
这个时候只要在这个目录下,我们自己写的程序不需要使用./来执行了,但是在我们重启以后,环境变量又变回去了,这是为什么呢?原因在于,环境变量是一张内存级的表,这张表由用户在登录系统的时候,进行给特定用户形成属于自己的环境变量表。
我分别在我的账户和root账户下执行以下命令,发现不一样,可以证明这是不同用户有不同的环境变量表
常见的环境变量表:
PATH : 指定命令的搜索路径 HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录) SHELL : 当前Shell,它的值通常是/bin/bash
查看方法:
echo $NAME