天天看點

父shell和子shell

圓括号結構

圓括号結構能夠強制将其中的指令運作在子Shell中,它的基本格式為:

(

command 1

command 2

command n

)

圓括号内的n條指令在子Shell中運作,bash版本3之後定義了内部變量BASH_SUBSHELL,該變量記錄了子Shell的層次。

子Shell隻能繼承父Shell的一些屬性,但是,子Shell不可能反過來改變父Shell的屬性。

子Shell能夠從父Shell繼承得來的屬性如下:

目前工作目錄

環境變量

标準輸入、标準輸出和标準錯誤輸出

所有已打開的檔案辨別符

忽略的信号

子Shell不能從父Shell繼承得來的屬性,歸納如下:

除了環境變量和.bashrc檔案中定義變量之外的Shell變量

未被忽略的信号處理

原文

http://blog.sina.com.cn/s/blog_6bd7d943010152f4.html