linux 下的path變量

## 在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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章