シェル関数の定義:開かれている中括弧の後にスペースがあるのはなぜですか?

シェル関数の定義:開かれている中括弧の後にスペースがあるのはなぜですか?

あなたはおそらくこれを知っているでしょうフォーク爆弾:

 :(){ :|:&};: #WARNING: harmful code

構文解析のために開く中括弧の後にスペースを含める必要がある理由は疑問に思います。

ベストアンサー1

{}

          { list; }

中かっこの間にコマンドリストを配置すると、そのリストは現在のシェルのコンテキストで実行されます。サブシェルは作成されません。リストの後にはセミコロン(または改行)が必要です。

サブシェルの作成に加えて、歴史的な理由から、2つの構成の間には微妙な違いがあります。中かっこは予約語なので、スペースやその他のシェルメタ文字でリストと区切る必要があります。括弧は、空白でリストと区別されなくても、シェル内の別々のトークンとして認識される演算子です。

//源泉

おすすめ記事