わかりません。ドキュメントから読み取ったように、{}
サブシェルは作成されません。しかし、時には次のような場合もあるようです。
$ unset T; echo "T_bfr=$T"; echo $$; { echo $$; export T=1; }; echo "T_afr=$T"
T_bfr=
4874
4874
T_afr=1
$ unset T; echo "T_bfr=$T"; echo $$; { echo $$; export T=1 ; }|cat; echo "T_afr=$T"
T_bfr=
4874
4874
T_afr=
違いは何ですか? 2番目のケースでTが欠けているのはなぜですか?
ベストアンサー1
2番目のケースは、パイプがT_aft=$T
設定されていないサブシェルで実行されるため、異なります。