Next: , Previous: Assignments, Up: Portable Shell


10.7 シェルスクリプト内のカッコ

一列にある二つの開カッコは,シェルの実装によっては間違って処理されること を覚えておいて下さい.例えば,‘pdksh’ 5.2.14では以下のコードのパー スを失敗します.

     if ((true) || false); then
       echo ok
     fi

この問題を回避するため,二つの開カッコの間にスペースを挿入して下さい. ‘$((’に関する同様な問題と回避方法があります.Shell Substitutionsを参照して下さい.

POSIXでは,以下のような開カッコを用いたcaseパターンのサ ポートを要求しています.

     case $filename in
     (*.c) echo "C source code";;
     esac

しかし,この例の(には古いBourneシェルの実装で移植性がないものもた くさんあります.安全のため削除すべきでしょう.