bash - 如何在 shell 脚本中进行整数比较的逻辑或运算?

标签 bash unix if-statement sh

我正在尝试进行简单的条件检查,但它似乎不起作用。

如果 $# 等于 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))
 ...

关于bash - 如何在 shell 脚本中进行整数比较的逻辑或运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4111475/

相关文章:

linux - 为什么 Bash 字符串下标中的空格在这里很重要?

bash - 将变量从 Bash 传递到 psql

ruby exec 使用我的 ~/.bashrc 中的函数

`posix_spawn` 的能力

linux - bash 脚本中的 -Ron 是什么意思?

C++, 'if' 表达式中的变量声明

linux - 使用此处文档为用户提供多种选择

linux - 如何使用 'sed' 将字符添加到文件的行开头

r - 删除所有小于指定值的时间

java - 在没有 BigInt 的情况下在 java 中添加负数和正数