我想比较一个变量与另一个变量减去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
...
但这些版本不起作用.
你怎么正确地写这样的条件?
问候
最佳答案
您尝试过的各种示例都不起作用,因为在您尝试的任何变体中都没有实际发生算术运算.
原文链接:https://www.f2er.com/linux/440312.html你可以说:
if [[ $index -lt $((max_num-1)) ]]; then
echo yes
fi
$((表达式))表示Arithmetic Expression.
[[表达]]是Conditional Construct.