4
我知道管道會創建子shell。
我測試$BASH_SUBSHELL
和$BASHPID
,並找到$BASH_SUBSHELL
不會管增加
echo $BASH_SUBSHELL # 0
echo $BASHPID # 8347
echo $BASH_SUBSHELL | cat # 0
echo $BASHPID | cat # 9727
(echo $BASH_SUBSHELL) # 1
(echo $BASHPID) # 9778
'eval'echo $ BASH_SUBSHELL'|貓'或'{echo $ BASH_SUBSHELL} | cat'? – choroba
@choroba它的工作原理,但爲什麼$ BASH_SUBSHELL不增加在我的例子 –
我不知道。該變量可能在運行子shell之前由父shell擴展,但我找不到確切的文檔,我不打算搜索源:-) – choroba