TLCL學(xué)習(xí)筆記|第37章|exotica(一些用法)
(認(rèn)知有限,如有不妥,還望告知,歡迎討論)
命名管道
行為類似于文件,用以實(shí)現(xiàn)FIFO,為內(nèi)容提供一個(gè)暫存地
創(chuàng)建一個(gè)命名管道
mkfifo pipe1

命名管道的使用
eg.(用兩個(gè)終端)

組命令和子shell
兩者主要都是用來組合命令使用的,長(zhǎng)得很像。
不同之處在于,組命令用花括號(hào)把它的命令包裹起來,而子 shell 用括號(hào)。值得注意的是,鑒于 bash 實(shí)現(xiàn)組命令的方式, 花括號(hào)與命令之間必須有一個(gè)空格,并且最后一個(gè)命令必須用一個(gè)分號(hào)或者一個(gè)換行符終止。
組命令
{ command1; command2; [command3; ...] }
子shell
(command1; command2; [command3;...])
進(jìn)程替換
(個(gè)人目前覺得還是一個(gè)暫存區(qū)概念的東西,子shell被殺死后,通過進(jìn)程替換,外面的shell可以讀取子shell沒死之前產(chǎn)生的內(nèi)容)
一種適用于產(chǎn)生標(biāo)準(zhǔn)輸出的進(jìn)程:
<(list)
另一種適用于接受標(biāo)準(zhǔn)輸入的進(jìn)程:
>(list)
使用例子
eg.使用read處理一個(gè)目錄列表的內(nèi)容,內(nèi)容創(chuàng)建于一個(gè)子 shell


陷阱
個(gè)人理解:當(dāng)腳本運(yùn)行過程中,有外部信號(hào)輸入時(shí),trap用來對(duì)這種信號(hào)進(jìn)行處理,確保原腳本程序合理安全的運(yùn)行。
eg. 使用trap防止程序被中斷


異步執(zhí)行
wait
eg.父進(jìn)程等待子進(jìn)程執(zhí)行完再結(jié)束。



=END=
=reference=
[1]http://billie66.github.io/TLCL/book/chap37.html