我是bash腳本初學者,我有一個「作業」要做。我想到了大部分東西,但有一部分內容說我必須回顯父bash的pid和我將運行的兩個子殼的pid。所以,我在網上看了一下,發現這個(The Linux documentation project):
#!/bin/bash4
echo "\$\$ outside of subshell = $$" # 9602
echo "\$BASH_SUBSHELL outside of subshell = $BASH_SUBSHELL" # 0
echo "\$BASHPID outside of subshell = $BASHPID" # 9602
echo
(echo "\$\$ inside of subshell = $$" # 9602
echo "\$BASH_SUBSHELL inside of subshell = $BASH_SUBSHELL" # 1
echo "\$BASHPID inside of subshell = $BASHPID") # 9603
# Note that $$ returns PID of parent process.
因此,這裏是我的問題:
1)什麼做的第一回聲打印?這是父bash的pid嗎?
2)爲什麼第二個回波打印出0?
3)$ BASH_SUBSHELL是命令還是變量?
4)我在mac上做所有事情,我會在幾天內在Linux機器上嘗試所有這些,但是每當我運行這個腳本時 不會返回任何東西,我只需要換一行。這是因爲我在Mac上運行此和$BASHPID
無法在Mac上工作?
謝謝回答和清除這些東西對我來說。我發現我有GNU bash,版本3.2.48(1)。 – captain