我正在尝试进行简单的条件检查,但它似乎不起作用。
如果$#等于0或大于1则打个招呼。
$#
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
我不确定这在其他 shell 中是否有所不同,但如果您希望使用 <、>,您需要将它们放在双括号中,如下所示:
if (("$#" > 1)) ...