加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何在linux shell脚本中将变量与变量相比减去常量?

发布时间:2020-12-13 19:04:55 所属栏目:Linux 来源:网络整理
导读:我想比较一个变量与另一个变量减去linux shell脚本中的常量. 在cpp中,这将是这样的: int index = x;int max_num = y;if (index 在shell中我尝试了以下内容: index=0 max_num=2 if [ $index -lt ($max_num - 1) ]; then sleep 20 else echo "NO SLEEP REQUI

我想比较一个变量与另一个变量减去linux shell脚本中的常量.

在cpp中,这将是这样的:

int index = x;
int max_num = y;

if (index < max_num - 1) {
  // do whatever
} else {
  // do something else
}

在shell中我尝试了以下内容:

  index=0
  max_num=2
  if [ $index -lt ($max_num - 1) ]; then
    sleep 20
  else 
    echo "NO SLEEP REQUIRED"
  fi

我也尝试过:

if [ $index -lt ($max_num-1) ]; then
...

if [ $index -lt $max_num - 1 ]; then
...

if [ $index -lt $max_num-1 ]; then
...

但这些版本不起作用.
你怎么正确地写这样的条件?

问候

最佳答案
您尝试过的各种示例都不起作用,因为在您尝试的任何变体中都没有实际发生算术运算.

你可以说:

if [[ $index -lt $((max_num-1)) ]]; then
  echo yes
fi

$((表达式))表示Arithmetic Expression.

[[表达]]是Conditional Construct.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读