голосование
PHP
jQuery
Firebird
BASH
HTML
Ресурсы
GIT
SEO
Oracle
Python
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Как складывать числа let BASH

Как складывать числа в BASH. Если просто сложите два числа с оператором +, то это ничего не даст. Нужно поместить сумму чисел в круглые скобочки $((n1 + n2)).


#!/bin/bash
#операции сложения

a=1
b=2
c=3

# прибавляем числа
let a=1+10

res=$(( $a + $b + $c ))

echo $res

Итераторы

В BASH переменные не имеют типов данных. Значение любой - это строка. Это очень странно! Команда let производит арифметические операции над переменными. Она как бы конвертирует строку в математическое действие.


a=2334 # Целое число.
let "a += 1"
echo "a = $a " # a = 2335
echo # Все еще целое число.
b=${a/23/BB} # замена "23" на "BB".
# Происходит трансформация числа в строку.

echo "b = $b" # b = BB35
declare -i b # Явное указание типа здесь не поможет.
echo "b = $b" # b = BB35

let "b += 1" # BB35 + 1 =
echo "b = $b" # b = 1

c=BB34
echo "c = $c" # c = BB34
d=${c/BB/23} # замена "BB" на "23". 
# Переменная $d становится целочисленной.

echo "d = $d" # d = 2334
let "d += 1" # 2334 + 1 =
echo "d = $d" # d = 2335
# А что происходит с "пустыми" переменными?
e=""
echo "e = $e" # e =
let "e += 1" # Арифметические операции допускают использование "пустых" переменных?
echo "e = $e" # e = 1echo # "Пустая" переменная становится целочисленной.

# А что происходит с необъявленными переменными?
echo "f = $f" # f =
let "f += 1" # Арифметические операции допустимы?
echo "f = $f" # f = 1
echo # Необъявленная переменная трансформируется в целочисленную.
просмотры: 185, уровень: лёгкий уровень, рейтинг: 0, дата: 2017-05-15 12:39:24
проголосовать:

Комментарии:






поиск
реклама
банеры
домен RU всего за 99 рублей
http://www.2domains.ru домен RU домен RU всего за 99 рублей
http://ping-admin.ru/index_5659.html мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
https://my.colobridge.net/aff.php?aff=047 серверы vps/vds облачный vps/vds сервер colobridge от 9,9 евро в месяц