我是一个bash脚本初学者,我有一个“功课”要做。我想出了大部分的东西,但有一部分说,我必须回应父bash的pid和我将运行的两个subshell的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机器上尝试所有这些
每当我运行这个脚本$ BASHPID不返回任何东西,我只是得到一个新的行。这是因为我在mac上运行这个,而$ BASHPID在mac上不起作用?