Operacja arytmetyczna bash

Operacja arytmetyczna bash
Wykonanie operacji arytmetycznych w BASH nie jest podobne do innych standardowych języków programowania. Jednym z ograniczeń bash jest to, że nie może obsługiwać zmiennoprzecinkowego lub podwójnych liczb, podobnie jak inne języki skryptów. Inne narzędzie poleceń jest używane w BASH do rozwiązania tego problemu. Różne typy operacji arytmetycznych pokazano w tym samouczku za pomocą różnych przykładów.

Przykład - 1: Korzystanie z polecenia „Expr”

Najstarsze polecenie do wykonywania operacji arytmetycznych w Bash jestExpr'. To polecenie może działać tylko z wartościami liczb całkowitych i drukuje dane wyjściowe bezpośrednio w terminalu. Musisz użyć miejsca z każdym operandem, gdy chcesz użyć 'Expr„polecenie wykonywania jakichkolwiek operacji matematycznych. Utwórz plik bash o nazwie Expr.grzmotnąć z następującym skryptem, aby poznać użycie 'Expr' Komenda.

#!/bin/bash
# Działa jako ciąg
expr '10 + 30 '
# Działa jako ciąg
Expr 10+30
#Perform dodanie
Expr 10 + 30
#Znajdź pozostałą wartość
Expr 30 % 9
#Wydanie z backtick
myval1 = 'expr 30/10'
Echo $ myval1
#Sing Expr w zastępstwie dowodzenia
myval2 = $ (expr 30–10)
Echo $ myval2

Uruchom następujące polecenie, aby wykonać skrypt.

$ bash expr.grzmotnąć

Wyjście:
Dane wyjściowe pokazuje, że operatorzy arytmetycznych pracowali tylko wtedy, gdy przestrzeń jest używana z każdą wartością liczbową i nie jest używana pojedyncza cytat Expr Komenda. Możesz także przypisać dane wyjściowe Expr Poleć do zmiennej i wydrukuj zmienną później, używając backtick Lub Zastępca dowodzenia. 30/10 jest obliczane przy użyciu backtick I 30-10 jest obliczane przy użyciu Zastępca dowodzenia.

Przykład - 2: Korzystanie z polecenia „Let”

'pozwalać' to kolejne wbudowane polecenie do wykonywania operacji arytmetycznych w Bash. 'pozwalać' polecenie nie może wydrukować wyjścia na terminalu bez przechowywania wartości w zmiennej. Ale „Niech” Polecenie można użyć do usunięcia innych ograniczeń „expr” Komenda. Utwórz plik bash o nazwie pozwalać.grzmotnąć z następującym skryptem, aby poznać użycie 'pozwalać' Komenda.

#!/bin/bash
# Pomnożenie 9 przez 8
Niech val1 = 9*3
Echo $ val1
# Dzielenie 8 przez 3
Niech „val2 = 8/3”
Echo $ val2
# Odejmowanie 3 od 9
Niech Val3 = 9-3
Echo $ val3
# Stosowanie przyrostu
Niech Val4 = 7
Niech Val4++
Echo $ val4
# Korzystanie z wartości argumentu w operacji arytmetycznej
Niech „val5 = 50+$”
Echo $ val5

Uruchom następujące polecenie, aby wykonać skrypt.

$ bash niech.Bash 50

Wyjście:

Wyjście to pokazuje „Niech” polecenie jest bardziej elastyczne niż 'Expr' Komenda. Możesz ocenić dowolne wyrażenie arytmetyczne z cytatami lub bez. Ale nie możesz użyć przestrzeni w żadnym wyrażeniu matematycznym. Operator przyrostu lub zmniejszenia może być używany w 'pozwalać' Komenda. Jak można wykonać działanie arytmetyczne za pomocą wartości argumentów za pomocą 'pozwalać„Polecenie jest pokazane w ostatniej części przykładu.

Przykład - 3: Za pomocą podwójnych nawiasów

Każda operacja arytmetyczna może być wykonywana w Bash bez użycia żadnego polecenia. Tutaj do wykonywania zadań arytmetycznych używane są podwójne wsporniki, a użycie podwójnych wsporników do wykonywania wyrażeń matematycznych jest bardziej elastyczne niż polecenie takie jak 'Expr' Lub 'pozwalać'. Utwórz plik bash o nazwie DBL.Bash z następującym skryptem, aby przetestować operacje arytmetyczne za pomocą podwójnych nawiasów.

#!/bin/bash
# Oblicz wyrażenie matematyczne
val1 = $ ((10*5+15))
Echo $ val1
# Korzystanie z operatora pocztowego lub przed przyrostem/spadkiem
((val1 ++))
Echo $ val1
Val2 = 41
((--val2))
Echo $ val2
# Korzystanie z operatora strejnego
((val2 += 60))
Echo $ val2
# Dzielenie 40 przez 6
((val3 = 40/6))
Echo $ val3

Uruchom następujące polecenie, aby wykonać skrypt.

$ bash dbl.grzmotnąć

Wyjście:

Wyjście pokazuje, że podwójne wsporniki mogą wykonywać dowolne wyrażenie matematyczne z przestrzenią lub bez miejsca, a także można użyć operatorów przyrostowych/zmniejszających i skrótów w wyrażeniach podwójnych wsporników.

Przykład - 4: Korzystanie z polecenia „BC” dla liczb pływakowych lub podwójnych

Jednym z głównych ograniczeń powyższych sposobów wykonywania operacji arytmetycznych w Bash jest to, że 'Expr' Lub 'pozwalać' Lub podwójne wsporniki Wyrażenia nie są w stanie wytwarzać liczby zmiennoprzecinkowych lub podwójnych. Wyjście operacji podziału powyższych przykładów to liczby całkowite. 'pne„Polecenie może być użyte do rozwiązania tego problemu i działa jako podstawowy kalkulator dla systemu operacyjnego Linux. Utwórz plik bash o nazwie pne.grzmotnąć z następującym skryptem, aby poznać użycie „BC” polecenie w operacjach arytmetycznych.

#!/bin/bash
# Dzielenie 55 przez 3 z BC
Echo „55/3” | pne
# Dzielenie 55 przez 3 z opcją BC i -L
Echo „55/3” | BC -L
# Dzielenie 55 przez 3 z wartością BC i skali
Echo „Skala = 2; 55/3” | pne

Uruchom następujące polecenie, aby wykonać skrypt.

$ Bash BC.grzmotnąć

Wyjście:
Wyjście pokazuje, że proste 'pne„Polecenie daje wartość liczb całkowitą, jak inne opcje, gdy wykonywane jest wyrażenie podziału. 'BC -L„Polecenie generuje dokładne wyjście podziału i możesz ograniczyć część ułamkową za pomocą skala wartość. Tutaj, Skala = 2 Jest używane. Tak więc wyjście pokazuje 2 cyfry po punkcie dziesiętnym.

Przykład-5: Korzystanie z polecenia drukowania dla liczby zmiennoprzecinkowej lub podwójnej

''printf„Polecenie to kolejny sposób pracy z danymi ułamkowymi. To polecenie można użyć do generowania wartości zmiennoprzecinkowej bardziej wydajnie niż polecenie „BC” po operacji arytmetycznej. To polecenie można również użyć do obliczenia mocy liczby. Użycie ''printf„Polecenie dla różnych operacji arytmetycznych pokazano w tym przykładzie. Utwórz plik bash o nazwie prn.grzmotnąć z następującym skryptem, aby sprawdzić użycie polecenia „printf” dla ułamkowego wyjścia podziału dwóch liczb.

#!/bin/bash
# Weź wartość dywidendy od użytkownika
odczyt -p „Wprowadź wartość dywidendy:” N1
# Weź wartość dzieliny od użytkownika
Przeczytaj -p „Wprowadź wartość dzieliny:” n2
# Znajdź podział za pomocą „Echo” i „BC”
Echo „Skala = 2; $ n1/$ n2" | bc
# Znajdź dział za pomocą „Printf”
printf "%.2f \ n "" $ ((10 ** 2*$ n1/$ n2)) e-2 "

Uruchom następujące polecenie, aby wykonać skrypt.

$ bash prn.grzmotnąć

Wyjście:
Poniższe dane wyjściowe pokazuje, że wartość podziału generowana przez polecenia „BC” i „Printf” dwóch liczb całkowitych są takie same.

Poniższe dane wyjściowe pokazuje, że gdy wartość dywidendy jest liczbą zmiennoprzecinkową, wówczas wartość podziału wygenerowana przez polecenie „BC” jest poprawne, ale polecenie „printf” wygenerowało błąd.

Utwórz plik bash o nazwie PRN2.grzmotnąć z następującym skryptem, aby poznać użycie polecenia „printf” dla prawidłowego wyjścia ułamkowego, gdy wartość dywidendy jest liczbą zmiennoprzecinkową.

#!/bin/bash
# Weź wartość dywidendy od użytkownika
odczyt -p „Wprowadź wartość dywidendy:” N1
# Weź wartość dzieliny od użytkownika
Przeczytaj -p „Wprowadź wartość dzieliny:” n2
# Znajdź podział za pomocą „printf”, „echo” i „bc”
printf "%.2f \ n "'echo $ n1/$ n2 | bc -l'

Uruchom następujące polecenie, aby wykonać skrypt.

$ bash prn2.grzmotnąć

Wyjście:
Wyjście pokazuje, że polecenie „printf” z poleceniem „BC” generuje prawidłowe wyjście.

Przykład-6: Korzystanie z polecenia AWK do działania arytmetycznego

Korzystanie z polecenia „AWK” to kolejny sposób wykonania operacji arytmetycznej, która może prawidłowo generować wyjście dla liczb zmiennoprzecinkowych. Operacje arytmetyczne za pomocą polecenia „AWK” bez formatowania i formatowania pokazano w tym przykładzie. Utwórz plik bash o nazwie Awk.grzmotnąć z następującym skryptem, aby sprawdzić użycie polecenia „AWK” do operacji arytmetycznej.

#!/bin/bash
# Zainicjuj wartość dywidendy
N1 = 90
# Zainicjuj wartość Divisor
N2 = 43
# Wydrukuj wyjście bez formowania
awk "start print $ n1/$ n2"
# Wydrukuj wyjście z formatowaniem
AWK "start printf"%.2f \ n ", $ n1/$ n2"

Uruchom następujące polecenie, aby wykonać skrypt.

$ bash awk.grzmotnąć

Wyjście:
Wyjście pokazuje, że polecenie „AWK” może wygenerować odpowiednie wyjście ułamkowe.

Przykład-7: Oblicz procent wartości

Czasami musimy obliczyć wartość procentową określonych kryteriów. Procent można obliczyć w Bash za pomocą polecenia „printf” i „echo”. Załóżmy, że musimy znaleźć odsetek zdanych studentów na egzaminie na podstawie całkowitej liczby studentów i całkowitej liczby studentów. Rozwiązanie tego problemu pokazało w tym przykładzie. Utwórz plik bash z następującym skryptem, aby obliczyć wartość procentową przekazanych uczniów za pomocą polecenia „printf”.

#!/bin/bash
# Weź całkowitą liczbę uczniów od użytkownika
Przeczytaj -p „Całkowita liczba studentów:” Total_std
# Weź całkowitą liczbę zdanych studentów od użytkownika
Przeczytaj -p „Całkowita liczba zdanych studentów:” dand_std
# Oblicz odsetek zdanych studentów
printf „Procent minowanych studentów: %.2f %% \ n "" $ ((10 ** 3 * 100 * $ dand_std/$ total_std)) e-3 "

Uruchom następujące polecenie, aby wykonać skrypt.

Procent $.grzmotnąć

Wyjście:
Wydajność pokazuje odsetek przechodzących studentów na podstawie całkowitej liczby studentów i przekazywanych studentów.

Wniosek

Zastosowania różnych operatorów arytmetycznych w BASH i sposoby wykonywania operacji arytmetycznych przy użyciu różnych poleceń pokazano w tym samouczku za pomocą wielu przykładów, aby pomóc użytkownikom Bash.