Intereting Posts
Найти дубликаты имен файлов с определенным шаблоном соответствия Установка глобальных переменных среды при загрузке в Solaris 11 Графический вход без клавиатуры Возможно ли войти в систему как пользователь root в среде рабочего стола LXDE? Диспетчер файлов, показывающий скорость передачи битов для mp3-файлов Почему нам нужно указывать тип раздела в fdisk, а затем снова в mkfs? Клавиши управления яркостью не работают в Linux sshfs – устройство не найдено Можно ли настроить работу cf ffmpeg для каталога? Можно ли изменить цвета шрифтов в терминале, не влияя на формат отпечатка «% * s» printf? Что делает net.ipv4.tcp_app_win? Установите минус двух списков с завершающим символом новой строки / общий черный список с использованием общих предметов домашнего обихода su – пользователь не работает для пользователей без пароля One-liner для выполнения процесса в текущем каталоге без вывода и отменить его? Подсветка клавиатуры Asus G53S

Как добавить две переменные, переданные в оболочке, которая возвращает число целых чисел?

В моем сценарии я использую 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 ?

Если у вас есть 2 переменная, скажем $a и $b :

 a=5 b=7 

Вы можете их суммировать:

 c=$((a+b)) 

$c содержит теперь значение 12:

 echo $c 12 

Я рекомендую expr :

 NAME expr - evaluate expressions SYNOPSIS expr EXPRESSION expr OPTION ARG1 + ARG2 arithmetic sum of ARG1 and ARG2 

Пример:

 $ expr $CCD_COUNT + $CCD_COUNT1 $ 48 

Если вы хотите, чтобы 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 )