Согласен с ghostdog74.Однажды я использовал встроенную функцию $ (()), но я перешел на bc, потому что формат, в который мы получаем данные, не очень «числовой».Проверьте ниже:
jyzuz@dev:/tmp> echo $(( 017 + 2 ))
17
jyzuz@dev:/tmp> echo $(( 17 + 2 ))
19
jyzuz@dev:/tmp>
Кажется, что в 1-м случае он понимается как двоичные или шестнадцатеричные числа ... не очень уверен.
Так что я перешел на bc.Вы можете выбрать способ, который вы предпочитаете:
bc << EOF
$num1 + $num2 + $num3
EOF
или
bc <<< "$num1 + $num2 + $num3"
Существуют другие способы сделать это ... но было бы хорошо, если вы отправите более подробную информацию, напримересли вы также выполняете деление, вам нужно добавить аргумент bc -l
, чтобы загрузить математическую библиотеку.