BSD/OS rcスクリプトのグルーピング

BSD/OSのrc読み
お次はこれ

(cd /var/run && { rm -rf -- *; install -c -m 664 -g utmp /dev/null utmp; })

()でくくられた範囲はサブシェルで実行。よって、この行の実行は/var/runで行われる。
{}でくくられた範囲はカレントシェルで実行。よって、cd /var/runをしているので、{}でくくられた範囲は/var/runで実行される。
さらに、中括弧 {} を使ってグルーピングする時に、 { の直後と、 } の直前には1個のスペースが必要。
また、グルーピングされたコマンドの末尾にはコマンドの区切りを表すセミコロン ; がなければいけない。
これは中括弧がシェルの予約語であるため。
&&はAND演算子。cd /var/runが成功すると、{}でくくられた範囲を実行する。
rm -rf -- *の
--は何かって言うと、コマンドオプションの終わりを示す。
存在意義は、-が付いたファイルを消すために必要。
-fというファイル名のファイルが有ったとしても、
rm -fじゃ消せないからね。
rm -- -fならOK。