如何将 shell 中传递的两个返回整数计数的变量相加?

如何将 shell 中传递的两个返回整数计数的变量相加?

在我的脚本中我使用了 2 个变量:

integer CCD_COUNT1= `grep '.CCD' $TMP_RPT_FILE1 | wc-l`

它返回整数值假设47

另一个变量:

integer CCD_COUNT=`grep '.CCD' $TMP_RPT_FILE | wc -L `

它还返回整数值假设1

如何将整数$CCD_COUNT1和相加$CCD_COUNT,得到48

答案1

如果你有 2 个变量,假设$a$b

a=5
b=7

您可以通过以下方式对它们进行求和:

c=$((a+b))

$c现在包含值 12:

echo $c
12

答案2

我建议expr:

NAME
       expr - evaluate expressions

SYNOPSIS
       expr EXPRESSION
       expr OPTION

 ARG1 + ARG2

              arithmetic sum of ARG1 and ARG2

例子:

$ expr $CCD_COUNT + $CCD_COUNT1
$ 48

答案3

如果你想让 bash 不使用子进程,你可以使用 (( )):

(( RESULT = CCD_COUNT1 + $CCD_COUNT ))
echo $RESULT

该页面包含描述:http://wiki.bash-hackers.org/syntax/ccmd/arithmetic_eval

注意:显然这个解决方案不是 POSIX 指定的(http://wiki.bash-hackers.org/commands/builtin/let

相关内容