私はシェルを初めて使用します。use (command) が新しいサブシェルを作成し、コマンドを実行することを知ったので、親シェルとサブシェルの pid を出力しようとしました。
#!/bin/bash
echo $$
echo "`echo $$`"
sleep 4
var=$(echo $$;sleep 4)
echo $var
しかし、答えは次のとおりです。
$./test.sh
9098
9098
9098
私の質問は次のとおりです。
- なぜ3つのエコープリントだけなのですか? 私のコードには4つのエコーがあります。
- なぜ 3 つの pid が同じなのですか? サブシェルの pid は明らかに彼の父親のものと同じではありません。
答えてくれてありがとう:)