即使加上$符,也只能在當前shell里面刪除父進程繼承下來的變量,但是對父進程是不會影響的。通過env環境變量查看命令可以看到。
也就是說,定義一個環境變量(全局變量),它的子進程都會通過fork函數享有這個變量所在的內存區。如果在子進程中unset了這個變量,子進程中就會釋放該內存。但是對父進程是不會有影響的。exit子進程后,通過env還會看到先前定義的環境變量。在bash一個子進程,會發現又繼承里父進程的環境變量。。是因為不是同一個子進程。通過echo $$可以看當前bash pid號。
就像一父親生了兩個兒子。都會繼承了父親的優良基因。大兒子卻做了個小手術,導致不是兒子了。小兒子沒動根
也就是說,定義一個環境變量(全局變量),它的子進程都會通過fork函數享有這個變量所在的內存區。如果在子進程中unset了這個變量,子進程中就會釋放該內存。但是對父進程是不會有影響的。exit子進程后,通過env還會看到先前定義的環境變量。在bash一個子進程,會發現又繼承里父進程的環境變量。。是因為不是同一個子進程。通過echo $$可以看當前bash pid號。
就像一父親生了兩個兒子。都會繼承了父親的優良基因。大兒子卻做了個小手術,導致不是兒子了。小兒子沒動根
2016-06-21
已采納回答 / 小呀么小二郎呀
shell(計算機殼層)在計算機科學中,Shell俗稱殼(用來區別于核),是指“提供使用者使用界面”的軟件(命令解析器)。它類似于DOS下的command和后來的cmd.exe。它接收用戶命令,然后調用相應的應用程序。基本上shell分兩大類:一:圖形界面shell(Graphical User Interface shell 即 GUI shell)例如:應用最為廣泛的 Windows Explorer (微軟的windows系列操作系統),還有也包括廣為人知的 Linux shell,其中linux?...
2016-06-20
媽蛋,我完蛋了,我把PATH="PATH":/root了,把中間那個$沒加,,結果echo $PATH的時候成這樣了[root@localhost ~]# echo $PATH
PATH:/root
PATH下只剩/root了,其他保存命令的文件夾都不見了
PATH:/root
PATH下只剩/root了,其他保存命令的文件夾都不見了
2016-05-30
最新回答 / 大草同學
米刀文已經給出了一種解釋:“因為set的輸出很長,可以使用set | more命令查看”。出來的東西,前面的內容一樣,后面的就是這些函數代碼了??赡苁莾群税姹镜年P系。
2016-05-27