linux 下的path变量

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangfenghui132/article/details/78480051

## 在linux下面经常用到path这个变量,比如你在终端编译一些命令的时候,经常提示一些.o文件找不到,其中的一种可能就是.o文件所在的路径没有加入path里面。还有可能就是没有ldconfig,这种情况参考上篇转载的文档。
当你打开终端的时候,就path这个变量来说,肯定是从本地的文件.bashrc或者.bash_profile文件初始化(这点存在争议,自己不太确定是从哪个文件初始化,以后查清楚了再做改动)。那么在这个终端(线程)下,如果你想要改变path变量可以直接改变,但是改变的后path变量只是当前终端(线程)下做出的改变。在你退出这个终端再次打开另一个终端的时候,path还是原来初始化时候的path并没有发生改变。所以如果某个程序经常需要添加一些路径,每次进入终端后都改变path的值是很麻烦的,不如直接改变文件。
还有,经常会发现在改变完path之后,经常会用到export PATH这个指令,用了export PATH之后,关闭终端,再次打开终端的话path变量还是没有变化的,那export PATH的功能是什么,为什么这个操作不能从根本上改变path的值还要有这个操作,那就是export PATH之后再后面的子程序里面,这个变量也可以使用到,也就是当前这个线程下面的所有子线程都可以使用这个变量。举一个例子,你打开一个终端输入一个 username=wangfenghui,当你在该主线程下启动一个子线程的时候,在子线程里面这个username是没有值得,比如你输入bash,然后就新开启了一个子线程,然后输入username,这个变量就是空的。当你用exit退出子线程这个bash的时候,使用export username,再次启动一个新的子线程bash,输出这个变量username,就会输出wangfenghui。
##
在终端测试的命令行如下,(括号里面的东西是自己加的)
name=wfh
echo namebashecho name
(这时候会输出一个空)
exit
export name
bash
echo $name
(输出)wfh
exit

猜你喜欢

转载自blog.csdn.net/wangfenghui132/article/details/78480051