Bashでサブシェルを生成する方法は?

Bashでサブシェルを生成する方法は?

これまで私の知る方法は主に2つです。

  • 明らかに:コマンドリストを括弧で囲みます。

  • 暗黙的に:パイプラインの各コマンド

Bashでサブシェルを生成するためのより多くの方法(明示的または暗黙的)がありますか?

ベストアンサー1

からman bash

  • コマンドが制御演算子によって終了すると、&シェルはサブシェルのバックグラウンドでコマンドを実行します。シェルは、コマンドが完了するのを待たずに状態0を返します。
  • コプロセスは予約語の前にあるシェルコマンドですcoproc
    Coprocess は、コマンドと制御演算子を使用してコマンドが終了したかのように、サブシェルで非同期で実行されます。
  • シェル組み込みcompleteコマンド:-C command オプションと一緒に呼び出されると、commandサブシェル環境で実行され、その出力は可能な完成として使用されます。
  • コマンド置換、括弧でグループ化されたコマンド、および非同期コマンドは、シェル環境と複製サブシェル環境で呼び出されます。

おすすめ記事