シェルは幾つかのコマンドをコマンド群をまとめ、あたかも1つのコマンドのように
実行させることができ、これをコマンドのグルーピングと言います。
グルーピングを行なうにはまとめたいコマンド類を小括弧で囲んで ( ) と
するか、あるいは中括弧を使って {
; } のようにします。
この2つはいずれもコマンドのグルーピングを行なう点は同じですが、(
) は
サブシェル(Page:
参照)で実行され、{
; } はカレントシェルで実行されます。
この違いを次の例で確認してください。
($ pwd /usr/try $ (cd /bin; ls -C) $ pwd /usr/try $ { cd /bin; ls -C; } $ pwd /bin
中括弧 { ; } を使ってグルーピングを1行に書くときに、
{ の直後と、 } の直前には1個のスペースが必要です。
さらに中括弧でグルーピングされたコマンドの末尾にはコマンドの区切りを
表すセミコロン ; がなければいけません。これは中括弧がシェルの予約語
であるための制限です。[「4.1 構文規則」(p.
) 参照]