Bash
Арифметика Bash
Поиск…
Синтаксис
$ ((EXPRESSION)) - оценивает выражение и возвращает его результат.
expr EXPRESSION - выводит результат EXPRESSION на stdout.
параметры
параметр | подробности |
---|---|
ЭКСПРЕССИЯ | Выражение для оценки |
замечания
Между каждым термином (или знаком) выражения требуется пространство (""). «1 + 2» не будет работать, но «1 + 2» будет работать.
Арифметическая команда
-
let
let num=1+2
let num="1+2"
let 'num= 1 + 2'
let num=1 num+=2
Вам нужны кавычки, если есть пробелы или символы подстановки. Так получится ошибка:
let num = 1 + 2 #wrong
let 'num = 1 + 2' #right
let a[1] = 1 + 1 #wrong
let 'a[1] = 1 + 1' #right
-
(( ))
((a=$a+1)) #add 1 to a
((a = a + 1)) #like above
((a += 1)) #like above
Мы можем использовать (())
в if
. Пример:
if (( a > 1 )); then echo "a is greater than 1"; fi
Вывод функции (())
может быть присвоен переменной:
result=$((a + 1))
Или используется непосредственно в выводе:
echo "The result of a + 1 is $((a + 1))"
Простая арифметика с (())
#!/bin/bash
echo $(( 1 + 2 ))
Выход: 3
# Using variables
#!/bin/bash
var1=4
var2=5
((output=$var1 * $var2))
printf "%d\n" "$output"
Выход: 20
Простая арифметика с expr
#!/bin/bash
expr 1 + 2
Выход: 3
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow