let: let arg [arg ...]
Obliczanie wyrażeń arytmetycznych.
Obliczenie każdego argumentu ARG jako wyrażenia arytmetycznego. Obliczenia
są wykonywane dla liczb całkowitych o stałej długości bez sprawdzania
przepełnienia, jednakże dzielenie przez 0 jest przechwytywane i oznaczane
jako błąd. Poniższa lista operatorów jest pogrupowana na poziomy
operatorów o jednakowym priorytecie. Poziomy są wypisane w kolejności
malejącego priorytetu.
id++, id-- post-inkrementacja, post-dekrementacja zmiennej
++id, --id pre-inkrementacja, pre-dekrementacja zmiennej
-, + jednoargumentowy minus, plus
!, ~ logiczna i bitowa negacja
** potęgowanie
*, /, % mnożenie, dzielenie, reszta z dzielenia
+, - dodawanie, odejmowanie
<<, >> przesunięcie bitowe w lewo i w prawo
<=, >=, <, > porównanie
==, != równość, nierówność
& bitowe AND
^ bitowe XOR
| bitowe OR
&& logiczne AND
|| logiczne OR
expr ? expr : expr
operator warunkowy
=, *=, /=, %=,
+=, -=, <<=, >>=,
&=, ^=, |= przypisanie
Jako operandy mogą występować zmienne powłoki. Nazwa zmiennej jest
zastępowana w w wyrażeniu jej wartością (po konwersji do liczby
całkowitej o stałej długości). Zmienna, aby mogła być użyta
w wyrażeniu, nie musi mieć ustawionego atrybutu integer.
Operacje są wykonywane wg. priorytetów operatorów. Najpierw są
wykonywane podwyrażenia w nawiasach i mają one pierwszeństwo przed
powyższymi priorytetami operatorów.
Stan wyjściowy:
Jeśli wartością ostatniego argumentu jest 0, let zwraca 1;
w pozostałych przypadkach zwracane jest 0.
Podpowiedź
Do wykonywania obliczeń nie trzeba korzystać z polecenia let można posiłkować się
standardową arytmetyką dostepną w powłoce.
Polecenie let umożliwia operacje na liczbach stałoprzecinkowych w powłoce Bash.
#!/bin/bash
liczba1=5
liczba2=6
let wynik=liczba1*liczba2
echo "${wynik}"
johny@ThinkPad:~$ liczba1=5
johny@ThinkPad:~$ liczba2=6
johny@ThinkPad:~$ let wynik=liczba1*liczba2
johny@ThinkPad:~$ echo "${wynik}"
30