2番目のケースでは、エクスポートキーワードが機能しないのはなぜですか?

2番目のケースでは、エクスポートキーワードが機能しないのはなぜですか?

次のコマンドを検討してください。

export set value=7
echo $value
export set value=70|echo $value

これで出力を取得します。

7

7

しかし、2番目のケースは70でなければなりませんか?

誰かが私が欠けている部分を説明してもらえますか?

ベストアンサー1

パイプラインの各コマンドは独自のシェルで実行されるため、親export set value=70シェルを変更できないサブシェルで実行されるため、echo $value値を変更しようとすることはできません。

また、POSIXシェルの場合、set変数に割り当てる必要はありません。export value=70

おすすめ記事