голосование
PHP
BASH
Javascript
HTML
Firebird
Майнинг
Программы
Хостинг
Железо
PostgreSQL
Ресурсы
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 # Необъявленная переменная трансформируется в целочисленную.
просмотры: 1516, уровень: лёгкий уровень, рейтинг: 0, дата: 2017-05-15 12:39:24
проголосовать:

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






поиск
реклама
сайты друзей
банеры
Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://www.2domains.ru домен RU домен RU всего за 99 рублей
http://ping-admin.ru/index_5659.html мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP