相关疑难解决方法(0)

bash pid和$$之间的区别

我是一个bash脚本初学者,我有一个"功课"要做.我想出了大部分的东西,但有一部分说我必须回应父bash的pid和我将要运行的两个子shell的pid.所以我在网上找到了这个(Linux文档项目):

#!/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.
Run Code Online (Sandbox Code Playgroud)

所以这是我的问题:

1)第一个回声打印是什么?这是父母bash的pid吗?

2)为什么第二个回波打印出0?

3)$ BASH_SUBSHELL是命令还是变量?

4)我正在Mac上做所有事情,我会在某些日子里在Linux机器上尝试所有这些但是每当我运行这个脚本时$BASHPID都没有返回任何内容,我只是换了一个新行.这是因为我在Mac上运行它并且$BASHPID不能在Mac上运行吗?

linux macos bash

20
推荐指数
2
解决办法
3万
查看次数

标签 统计

bash ×1

linux ×1

macos ×1