シェルスクリプト if文でのエラー

2016-02-18

シェルスクリプトでif文を使った際に構文は問題ないのに実行すると
unary operator expected」と表示される場合があります

下記のスクリプトは、/var/tmp/testのファイル数を変数に代入し、if文の処理をしています。実行するとエラーになります。実際には/var/tmp/testのディレクトリはありません。「ls_chk」変数がnullとなり(if [ -ge 10 ])となりエラー( unary operator expected)となります。
「unary operator expected」のエラーになる場合は、if文で評価する変数に値が入っていないケースを考慮して “変数” のように””で変数を囲めばエラーの対処になるかと思います

スポンサーリンク