Programovanie v jazyku BASH

bc na vykonanie pokročilých aritmetických operácií v BASH

bc na vykonanie pokročilých aritmetických operácií v BASH
Basic Calculator, tiež známy ako 'bc', je utilita príkazového riadku systému Linux, ktorá sa používa na vykonávanie pokročilých aritmetických postupov a algebry v skriptoch bash. Poskytuje mnoho rôznych matematických funkcií ako sínus, kosínus, tangens, prirodzený logaritmus v bashe. Bash nemôže vykonávať pokročilé aritmetické operácie, napríklad porovnávať plaváky; to je miesto, kde sa hodí bc. Príkazu „bc“ predchádzal program „dc“ (Desk Calculator), nástroj v systéme UNIX. V tomto tutoriále použijeme príkaz 'bc' na vykonávanie pokročilých aritmetických operácií.

Vykonávanie základných aritmetických operácií

Jednoduché aritmetické operácie ako sčítanie, odčítanie, delenie a násobenie je možné vykonať pomocou príkazu 'bc'. Syntax pre použitie jednoduchých binárnych operátorov v bashe pomocou príkazu „bc“ je nasledovná.

[chránené e-mailom]: ~ $ echo “ “| pred n. l

V tejto časti použijeme príkaz „bc“ na vykonávanie jednoduchých aritmetických operácií.

[chránené e-mailom]: ~ $ num1 = 2.35322 5
[chránené e-mailom]: ~ $ num2 = 1.223353
[chránené e-mailom]: ~ $ echo „$ num1 + $ num2“ | pred n. l
3.576578
[chránené e-mailom]: ~ $ echo „$ num1- $ num2“ | pred n. l
1.129872
[chránené e-mailom]: ~ $ echo „$ num1 * $ num2“ | pred n. l
2.878824
[chránené e-mailom]: ~ $ echo „$ num1 / $ num2“ | pred n. l
1

Vo vyššie uvedenom príklade sme pri vykonávaní delenia dostali výsledok bez desatinných miest. Aby sme dostali výsledok až k 'n' desatinným čiarkam, musíme nastaviť hodnotu mierky na 'n', ako je znázornené v nasledujúcom príklade.

[chránené e-mailom]: ~ $ echo “scale = 10; $ num1 / $ num2 “| pred n. l
1.9235862420

Prípadne môžeme na získanie desatinného výstupu použiť príznak '-l' a príkaz 'bc'.

[chránené e-mailom]: ~ $ echo „$ num1 / $ num2“ | bc -l
1.92358624207403750184

Príkaz 'bc' sa dá použiť aj na vykonanie delenia modulov a na výpočet sily čísla v základných skriptoch.

[chránené e-mailom]: ~ $ echo „10% 4“ | pred n. l
2
[chránené e-mailom]: ~ $ echo „10 ^ 2“ | pred n. l
100

Vykonávanie pokročilých aritmetických operácií

Doteraz sme príkaz „bc“ používali na vykonávanie základných aritmetických operácií, ako sú sčítanie, odčítanie, násobenie atď., teraz; v tejto časti použijeme príkaz 'bc' na vykonanie niektorých pokročilých aritmetických operácií. Budeme diskutovať o tom, ako môžeme použiť porovnávacie operátory, logické alebo boolovské operátory, pokročilé matematické funkcie a podmienené príkazy v bashe pomocou príkazu 'bc'.

Prevádzkovatelia porovnania

Operátory porovnania vezmú dve čísla, porovnajú ich a potom sa vrátia 1 alebo 0 v závislosti od porovnania. Ak je porovnanie pravdivé, potom je výsledok PRAVDA (1); inak je FALSE (0). Nasleduje niekoľko príkladov porovnávacích operátorov.

  • num1> num2: Toto porovnanie sa vráti 1 ak num1 je väčšie ako num2.
  • num1 < num2: Výsledok bude 1 ak num1 je menej ako num2.
  • num1 <= num2: Výsledok bude 1 ak num1 je menšie alebo rovnaké ako num2.
  • num1> = num2: Výsledok bude 1 ak num1 je väčšie alebo rovnaké ako num2.
  • num1 == num2: Výsledok bude 1 ak num1 sa rovná num2.
  • num1 != num2: Výsledok bude 1 ak nie sú obe čísla rovnaké.

Nasleduje niekoľko príkladov operátorov porovnávania použitých spolu s príkazom „bc“.

[chránené e-mailom]: ~ $ echo „5 == 5“ | pred n. l
1
[chránené e-mailom]: ~ $ echo „4!= 4 ”| pred n. l
0
[chránené e-mailom]: ~ $ echo „2> 5“ | pred n. l
0
[chránené e-mailom]: ~ $ echo „4<=4” | bc
1

Boolovskí operátori

Logické operátory alebo logické operátory sa používajú v podmienených príkazoch na vykonávanie niektorých logických rozhodnutí. Nasledujú tri základné logické operátory.

  • stat1 && stat2: Toto sa vráti 1 ak sú oba výroky nenulová.
  • stat1 || stat2: Toto sa vráti 1 ak je niektorý z výrokov nenulová.
  • ! stat: Toto sa vráti 1 ak je vyhlásenie nenulová a naopak.

Nasledujúce príklady ilustrujú, ako sa logické operátory používajú s príkazom „bc“.

[chránené e-mailom]: ~ $ echo „-5 && 0“ | pred n. l
0
[chránené e-mailom]: ~ $ echo “-1 || 0 ”| pred n. l
1
[chránené e-mailom]: ~ $ echo “! 0 ”| pred n. l
1

Podmienené vyhlásenia

Podmienené príkazy sa používajú na vykonávanie konkrétnych príkazov v závislosti od použitej podmienky. Podmienka použitá v podmienenom príkaze zahŕňa logické a porovnávacie operátory. Nasleduje príklad podmienených príkazov pomocou príkazu 'bc'.

[chránené e-mailom]: ~ $ a = 15
[chránené e-mailom]: ~ $ b = 20
[chránené e-mailom]: ~ $ echo 'ak (a> b) vypíše „a je väčšie“, iné vypíše „b je väčšie“' | bc -l
b je väčšie

Vo vyššie uvedenom príklade príkaz kontroluje, či je a väčšie ako b alebo nie. Ak je a väčšie ako b, vytlačí sa „a je väčšie“; v opačnom prípade sa vytlačí „b je väčšie.„Vo vyššie uvedenom príklade môžeme použiť ľubovoľnú podmienku pomocou booleovských a porovnávacích operátorov.

Matematické funkcie

Príkaz 'bc' poskytuje aj niektoré zabudované matematické funkcie, ktoré môžeme použiť bez ich definovania. Nasleduje niekoľko základných funkcií použitých v príkaze „bc“ v bash.

  • s (x): vráti sínus x, kde x je v radiánoch
  • c (x): vráti kosínus x, kde x je v radiánoch
  • a (x): vráti arkustangens x a výsledok je v radiánoch
  • sqrt (x): vráti druhú odmocninu z x. Ak je x záporné, spôsobí to chybu za behu
  • l (x): vráti prirodzený logaritmus x.

Tieto funkcie možno použiť s príkazom „bc“, ako je uvedené v nasledujúcich príkladoch.

[chránené e-mailom]: ~ $ pi = 3.1415
[chránené e-mailom]: ~ $ echo „s ($ pi / 2)“ | bc -l
1
[chránené e-mailom]: ~ $ echo „c ($ pi / 2)“ | bc -l
0
[chránené e-mailom]: ~ $ echo „a (1)“ | bc -l
0.7854

Druhá odmocnina čísla sa dá vypočítať v bashe pomocou príkazu „bc“, ako je znázornené na nasledujúcom obrázku.

[chránené e-mailom]: ~ $ echo „sqrt (4)“ | bc -l
2

Pri pokuse o výpočet druhej odmocniny záporného čísla spôsobí shell chybu za behu.

[chránené e-mailom]: ~ $ echo „sqrt (-2)“ | bc -l
Chyba za behu (func = (main), adr = 4): Druhá odmocnina zo záporného čísla

Prirodzený logaritmus čísla možno vypočítať v bashe pomocou príkazu „bc“ nasledujúcim spôsobom.

[chránené e-mailom]: ~ $ echo „l (2)“ | bc -l
.69314718055994530941

Záver

Pri písaní automatizačných skriptov v jazyku bash niekedy potrebujeme na vykonávanie príkazov pokročilé matematické funkcie a logické operátory. Príkaz „bc“ poskytuje mnoho pokročilých matematických funkcií a operátorov na vykonávanie aritmetických výpočtov na vysokej úrovni. V tomto výučbe sa diskutovalo o použití príkazu „bc“ na vykonávanie pokročilých aritmetických operácií v bashe.

Hry Výukový program Shadow of the Tomb Raider pre Linux
Výukový program Shadow of the Tomb Raider pre Linux
Shadow of the Tomb Raider je dvanásty prírastok do série Tomb Raider - franšíza akčných adventúr vytvorená Eidosom Montrealom. Túto hru prijali kritic...
Hry Ako zvýšiť rýchlosť FPS v systéme Linux?
Ako zvýšiť rýchlosť FPS v systéme Linux?
FPS znamená Počet snímok za sekundu. Úlohou FPS je merať snímkovú frekvenciu pri prehrávaní videa alebo herných výkonoch. Jednoducho povedané, počet n...
Hry Najlepšie hry Oculus App Lab
Najlepšie hry Oculus App Lab
Ak ste vlastníkom náhlavnej súpravy Oculus, musíte byť informovaní o bočnom nakladaní. Sideloading je proces inštalácie neuloženého obsahu do náhlavne...