gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:08:42 29 4
gpt4 key购买 nike

我想在 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

$(( expression )) 表示Arithmetic Expression .

[[ expression ]]Conditional Construct .

关于linux - 如何在 linux shell 脚本中比较变量与变量减去常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19837421/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com