环境变量PATH的作用
PATH说简单点就是一个字符串变量,当输入命令的时候linux会去查找PATH里面记录的路径。如:linux系统中的shell命令:pwd不管在哪个终端,任意路径下,都会找到这个命令。大家有想过为什么吗?本质上就是设置了环境变量,就像写C语言,设置了全局变量。
事实上当你输入命令的时候linux会去/bin,/usr/bin,/sbin等目录下面去找你此时输入的命令,而PATH的值恰恰就是/bin:/sbin:/usr/bin:……。
查看系统的PATH
终端输入:echo $PATH 如图所示: 可以看到添加到系统中的环境变量,其中:分隔开各个目录
自定义路径
做项目中,也许大家经常会遇到很多关于库文件找不到的问题,如:以*.so,*.a为后缀名的动态或者静态链接库,或者当我们学习嵌入式编程时经常使用的arm-linux-gcc交叉编译工具链,如果我们不设置环境变量,就需要指定路径,否则就会报错:链接出错,运行错误或者命令不存在。因此需要设置环境变量。
如:命令在/usr/locar/myfile/bin下面,而你又想像pwd一样在任何地方都使用这个命令,就需要添加环境变量PATH了,准确的说就是给PATH增加一个值/usr/locar/myfile/bin。 只需要一行shell命令export PATH=$PATH:/usr/locar/myfile/bin。该命令是使PATH自增:/usr/locar/myfile/bin,PATH=PATH+":/usr/locar/new/bin"。然后可以用echo $PATH命令查看PATH的值。如图: 可以看到该路径已经添加到环境变量中了。这样你就可以在该终端的任何路径下执行该命令了。
保存设置的PATH变量
上述的做法,只是临时保存该环境变量,当新打开一个终端或者重启系统时,该环境变量就会丢失,如: 可以看到在另一个新打开的终端去查看刚才新添加的环境变量,发现已经丢失了。可是系统中pwd命令是可以在任何终端下去执行,即使重新开机也可以查询到,到底是怎么做到的? 通常的做法是把这行bash命令写到~/.bashrc的末尾。 然后当你重新登陆linux的时候,新的默认路径就添加进去了。你可以用echo $PATH命令查看PATH的值.(该方法一定要重启系统)
|