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