【发布时间】:2011-05-05 22:02:10
【问题描述】:
我正在尝试做一个简单的条件检查,但它似乎不起作用。
如果$# 等于0 或大于1 则打个招呼。
我尝试了以下语法但没有成功:
if [ "$#" == 0 -o "$#" > 1 ] ; then
echo "hello"
fi
if [ "$#" == 0 ] || [ "$#" > 1 ] ; then
echo "hello"
fi
【问题讨论】:
-
他们都为我工作。您是否在 shebang 行中指定了 shell?
-
@Jason 实际上忘记了shebang线,但我刚才用它测试了它,它没有工作。
-
>是 sh/bash 中的输出重定向。现在您可能有一个名为1的文件。 -
它不起作用,因为您输入了错误的比较:使用 "$#" == "0" 或 $# -eq 0
标签: bash unix if-statement sh