Polecenie let

man let

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.

Przykłady użycia

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