父shell 和 子 shell
當執行一支shell script時, 父shell會根據script程式的第一行 #!之後所指定的shell程式,
開啟(fork)一個子shell環境,在子shell中執行此shell script。
一旦子shell中的script執行完畢.此子shell隨即結束,回到父shell中,不會影響shell原本的環境。
子shell和父shell 一樣,會開啟三個檔案, 標準輸入(鍵盤)、標準輸出(螢幕) 、標準錯誤(螢幕) ,
同時子shell會繼承父shell的若干變數值內容,這些變數稱為環境變數。
子shell還可以在開啟另一個子shell
每執行一份bash就進入下一層shell
如何知道目前是位於第幾層的shell:
echo $SHLVL
也可利用 ps axf 指令,觀察記憶體中,個行程之間的階層關係。
沒有留言:
張貼留言