ちゃんと書いているつもりなのに、「unary operator expected」とか「test: too many arguments」 のようなエラーが出る。 ・条件式に変数を使っていて、その変数がNullだとこのようなことが起きる。 つまり、 while [ $hoge -ne 10 ] みたいな式で、$hogeがnullだと、 -ne 10 が評価され、unary operator expected となる。 また、 while [ 11 -ne 10 -a $fuga -eq 9 ] で$fugaがNullだと、 11 -ne 10 -a -eq 9 として評価され、too many arguments となる。 変数は初期化する。 もしくは、文字列で、Null、もしくは、"" が入る可能性があるのなら、変数を""で括る。 [ "$hoge" = "test" ] hogeが初期