簡単な状態チェックをしようとしていますが、うまくいかないようです。
$#
等しいか0
、より大きい1
場合は、こんにちはと言います。
次の構文を試しましたが、成功しませんでした。
if [ "$#" == 0 -o "$#" > 1 ] ; then
echo "hello"
fi
if [ "$#" == 0 ] || [ "$#" > 1 ] ; then
echo "hello"
fi
ベストアンサー1
これは動作するはずです:
#!/bin/bash
if [ "$#" -eq 0 ] || [ "$#" -gt 1 ] ; then
echo "hello"
fi
他のシェルでも異なるかどうかはわかりませんが、<、> を使用する場合は、次のように二重括弧で囲む必要があります。
if (("$#" > 1))
...