Provádění základních aritmetických operací
Jednoduché aritmetické operace, jako je sčítání, odčítání, dělení a násobení, lze provádět pomocí příkazu 'bc'. Syntaxe pro použití jednoduchých binárních operátorů v bash pomocí příkazu 'bc' je následující.
[chráněno e-mailem]: ~ $ echo “V této části použijeme příkaz 'bc' k provedení jednoduchých aritmetických operací.
[chráněno e-mailem]: ~ $ num1 = 2.35322 5[chráněno e-mailem]: ~ $ num2 = 1.223353
[chráněno e-mailem]: ~ $ echo „$ num1 + $ num2“ | před naším letopočtem
3.576578
[chráněno e-mailem]: ~ $ echo „$ num1- $ num2“ | před naším letopočtem
1.129872
[chráněno e-mailem]: ~ $ echo „$ num1 * $ num2“ | před naším letopočtem
2.878824
[chráněno e-mailem]: ~ $ echo „$ num1 / $ num2“ | před naším letopočtem
1
Ve výše uvedeném příkladu jsme při provádění dělení dostali výsledek bez desetinných míst. Abychom dostali výsledek až na 'n' desetinná místa, musíme nastavit hodnotu měřítka na 'n', jak ukazuje následující příklad.
[chráněno e-mailem]: ~ $ echo “scale = 10; $ num1 / $ num2 “| před naším letopočtem1.9235862420
Alternativně můžeme k získání desetinného výstupu použít příznak '-l' a příkaz 'bc'.
[chráněno e-mailem]: ~ $ echo „$ num1 / $ num2“ | bc -l1.92358624207403750184
Příkaz 'bc' lze také použít k provedení dělení modulu a k výpočtu síly čísla v bash skriptech.
[chráněno e-mailem]: ~ $ echo „10% 4“ | před naším letopočtem2
[chráněno e-mailem]: ~ $ echo „10 ^ 2“ | před naším letopočtem
100
Provádění pokročilých aritmetických operací
Dosud jsme použili příkaz 'bc' k provedení některých základních aritmetických operací, jako je sčítání, odčítání, násobení atd., Nyní; v této části použijeme příkaz 'bc' k provedení některých pokročilých aritmetických operací. Budeme diskutovat o tom, jak můžeme použít porovnávací operátory, logické nebo booleovské operátory, pokročilé matematické funkce a podmíněné příkazy v bash pomocí příkazu 'bc'.
Porovnávací operátoři
Porovnávací operátoři vezmou dvě čísla, porovnají je a poté se vrátí 1 nebo 0 v závislosti na srovnání. Pokud je srovnání pravdivé, pak je výsledek PRAVDA (1); jinak je FALSE (0). Následuje několik příkladů operátorů porovnání.
- num1> num2: Toto srovnání se vrátí 1 pokud num1 je větší než num2.
- num1 < num2: Výsledek bude 1 pokud num1 je menší než num2.
- num1 <= num2: Výsledek bude 1 pokud num1 je menší nebo rovno num2.
- num1> = num2: Výsledek bude 1 pokud num1 je větší nebo rovno num2.
- num1 == num2: Výsledek bude 1 pokud num1 se rovná num2.
- num1 != num2: Výsledek bude 1 pokud nejsou obě čísla stejná.
Následuje několik příkladů operátorů porovnání použitých společně s příkazem „bc“.
[chráněno e-mailem]: ~ $ echo „5 == 5“ | před naším letopočtem1
[chráněno e-mailem]: ~ $ echo „4!= 4 ”| před naším letopočtem
0
[chráněno e-mailem]: ~ $ echo „2> 5“ | před naším letopočtem
0
[chráněno e-mailem]: ~ $ echo „4<=4” | bc
1
Booleovští operátoři
Logické nebo logické operátory se používají v podmíněných příkazech k provádění některých logických rozhodnutí. Následuje tři základní logické operátory.
- stat1 && stat2: To se vrátí 1 pokud jsou obě tvrzení nenulový.
- stat1 || stat2: To se vrátí 1 pokud některý z tvrzení je nenulový.
- ! stat: To se vrátí 1 pokud je prohlášení nenulový a naopak.
Následující příklady ilustrují, jak se logické operátory používají s příkazem „bc“.
[chráněno e-mailem]: ~ $ echo „-5 && 0“ | před naším letopočtem0
[chráněno e-mailem]: ~ $ echo „-1 || 0 ”| před naším letopočtem
1
[chráněno e-mailem]: ~ $ echo “! 0 ”| před naším letopočtem
1
Podmíněná prohlášení
Podmíněné příkazy se používají k provádění konkrétních příkazů v závislosti na použité podmínce. Podmínka použitá v podmíněném příkazu zahrnuje logické a porovnávací operátory. Následuje příklad podmíněných příkazů pomocí příkazu 'bc'.
[chráněno e-mailem]: ~ $ a = 15[chráněno e-mailem]: ~ $ b = 20
[chráněno e-mailem]: ~ $ echo 'pokud (a> b) vytisknout „a je větší“ jinak vytisknout „b je větší“' | bc -l
b je větší
Ve výše uvedeném příkladu příkaz zkontroluje, zda a je větší než b nebo ne. Pokud je a větší než b, vytiskne se „a je větší“; jinak vytiskne „b je větší.„Ve výše uvedeném příkladu můžeme použít libovolnou podmínku pomocí logických a porovnávacích operátorů.
Matematické funkce
Příkaz 'bc' také poskytuje některé vestavěné matematické funkce, které můžeme použít, aniž bychom je definovali. Následuje několik základních funkcí použitých v příkazu 'bc' v bash.
- s (x): vrací sinus x, kde x je v radiánech
- c (x): vrací kosinus x, kde x je v radiánech
- sekera): vrací arkustangens x a výsledek je v radiánech
- sqrt (x): vrací druhou odmocninu x. Když je x záporné, způsobí to runtime chybu
- l (x): vrací přirozený logaritmus x.
Tyto funkce lze použít s příkazem 'bc', jak je znázorněno v následujících příkladech.
[chráněno e-mailem]: ~ $ pi = 3.1415[chráněno e-mailem]: ~ $ echo „s ($ pi / 2)“ | bc -l
1
[chráněno e-mailem]: ~ $ echo „c ($ pi / 2)“ | bc -l
0
[chráněno e-mailem]: ~ $ echo „a (1)“ | bc -l
0.7854
Druhá odmocnina čísla může být vypočítána v bash pomocí příkazu 'bc', jak je znázorněno na následujícím obrázku.
[chráněno e-mailem]: ~ $ echo „sqrt (4)“ | bc -l2
Při pokusu o výpočet druhé odmocniny záporného čísla skočí shell runtime chybu.
[chráněno e-mailem]: ~ $ echo „sqrt (-2)“ | bc -lChyba za běhu (func = (hlavní), adr = 4): Druhá odmocnina záporného čísla
Přirozený logaritmus čísla lze vypočítat v bash pomocí příkazu 'bc' následujícím způsobem.
[chráněno e-mailem]: ~ $ echo „l (2)“ | bc -l.69314718055994530941
Závěr
Při psaní automatizačních skriptů v bash někdy potřebujeme k provádění příkazů pokročilé matematické funkce a logické operátory. Příkaz 'bc' poskytuje mnoho pokročilých matematických funkcí a operátorů k provádění aritmetických výpočtů na vysoké úrovni. V tomto výukovém programu proběhlo použití příkazu 'bc' k provádění pokročilých aritmetických operací v bash.