簡単な条件チェックを行おうとしているのですが、うまくいかないようです。
もし$#
が0
に等しいか1
より大きければ、よろしく。
以下の構文を試してみましたが、成功しませんでした。
if [ "$#" == 0 -o "$#" > 1 ] ; then
echo "hello"
fi
if [ "$#" == 0 ] || [ "$#" > 1 ] ; then
echo "hello"
fi
これなら大丈夫でしょう。
#!/bin/bash
if [ "$#" -eq 0 ] || [ "$#" -gt 1 ] ; then
echo "hello"
fi
他のシェルで違うかどうかはわかりませんが、<、>を使いたい場合は、次のように二重括弧の中に入れる必要があります。
if (("$#" > 1))
...