BASH programozás

bc a fejlett számtani műveletek elvégzéséhez a BASH-ban

bc a fejlett számtani műveletek elvégzéséhez a BASH-ban
Az Basic Calculator, más néven „bc”, egy Linux parancssori segédprogram, amelyet fejlett aritmetika és algebra végrehajtására használnak bash szkriptekben. Számos különféle matematikai funkciót biztosít, például szinusz, koszinusz, tangens, természetes logaritmus a bash-ban. Bash nem képes fejlett számtani műveletek végrehajtására, például úszók összehasonlítására; ott jön jól a bc. A 'bc' parancsot megelőzte a 'dc' (Desk Calculator), egy UNIX segédprogram. Ebben az oktatóanyagban a 'bc' paranccsal fejlett számtani műveleteket hajthatunk végre.

Számtani alapműveletek végrehajtása

Egyszerű számtani műveletek, például összeadás, kivonás, osztás és szorzás a 'bc' paranccsal hajthatók végre. Az egyszerű bináris operátorok bash-ban való alkalmazásának szintaxisa a 'bc' paranccsal a következő.

[e-mail védett]: ~ $ echo “ ”| időszámításunk előtt

Ebben a szakaszban a 'bc' parancsot használjuk egyszerű számtani műveletek végrehajtására.

[e-mail védett]: ~ $ num1 = 2.35322 5
[e-mail védett]: ~ $ num2 = 1.223353
[e-mail védett]: ~ $ echo “$ num1 + $ num2” | időszámításunk előtt
3.576578
[e-mail védett]: ~ $ echo “$ num1- $ num2” | időszámításunk előtt
1.129872
[e-mail védett]: ~ $ echo “$ num1 * $ num2” | időszámításunk előtt
2.878824
[e-mail védett]: ~ $ echo “$ num1 / $ num2” | időszámításunk előtt
1

A fenti példában az osztás végrehajtása közben tizedespontok nélkül kaptuk az eredményt. Ahhoz, hogy az eredmény elérje az 'n' tizedespontot, a skála értékét 'n' értékre kell állítanunk, a következő példában.

[e-mail védett]: ~ $ echo “skála = 10; $ num1 / $ num2 ”| időszámításunk előtt
1.9235862420

Alternatív megoldásként használhatjuk a '-l' jelzőt és a 'bc' parancsot a decimális kimenet megszerzéséhez.

[e-mail védett]: ~ $ echo “$ num1 / $ num2” | bc -l
1.92358624207403750184

A 'bc' parancs felhasználható modulus osztás végrehajtására és egy szám teljesítményének kiszámítására bash szkriptekben.

[e-mail védett]: ~ $ echo “10% 4” | időszámításunk előtt
2
[e-mail védett]: ~ $ echo “10 ^ 2” | időszámításunk előtt
100

Fejlett számtani műveletek végrehajtása

Eddig a 'bc' paranccsal alkalmaztunk néhány alapvető számtani műveletet, például összeadást, kivonást, szorzást stb., Most; ebben a szakaszban a 'bc' parancsot használjuk néhány fejlett számtani művelet végrehajtására. Megbeszéljük, hogyan használhatjuk az összehasonlító operátorokat, logikai vagy logikai operátorokat, fejlett matematikai függvényeket és feltételes utasításokat a bash-ban a 'bc' paranccsal.

Összehasonlító operátorok

Az összehasonlító operátorok két számot vesznek, összehasonlítják, majd visszatérnek 1 vagy 0 az összehasonlítástól függően. Ha az összehasonlítás igaz, akkor az eredmény az IGAZ (1); különben az HAMIS (0). Az alábbiakban bemutatunk néhány példát az összehasonlító operátorokra.

  • num1> num2: Ez az összehasonlítás visszatér 1 ha a num1 nagyobb, mint a num2.
  • num1 < num2: Az eredmény az lesz 1 ha a num1 kisebb, mint a num2.
  • num1 <= num2: Az eredmény az lesz 1 ha a num1 kisebb vagy egyenlő a num2.
  • num1> = num2: Az eredmény az lesz 1 ha a num1 nagyobb vagy egyenlő a num2.
  • num1 == num2: Az eredmény az lesz 1 ha a num1 egyenlő a num2.
  • num1 != num2: Az eredmény az lesz 1 ha mindkét szám nem egyenlő.

Az alábbiakban bemutatunk néhány példát a 'bc' paranccsal együtt használt összehasonlító operátorokra.

[e-mail védett]: ~ $ echo “5 == 5” | időszámításunk előtt
1
[e-mail védett]: ~ $ echo “4!= 4 ”| időszámításunk előtt
0
[e-mail védett]: ~ $ echo “2> 5” | időszámításunk előtt
0
[e-mail védett]: ~ $ echo “4<=4” | bc
1

Logikai operátorok

Logikai vagy logikai operátorokat használnak a feltételes utasításokban néhány logikai döntés végrehajtására. Az alábbiakban bemutatjuk a három alapvető logikai operátort.

  • stat1 && stat2: Ez visszatér 1 ha mindkét állítás nem nulla.
  • stat1 || stat2: Ez visszatér 1 ha valamelyik állítás az nem nulla.
  • ! statisztika: Ez visszatér 1 ha az állítás az nem nulla és fordítva.

Az alábbi példák azt mutatják be, hogy a logikai operátorokat hogyan használják a 'bc' paranccsal.

[e-mail védett]: ~ $ echo “-5 && 0” | időszámításunk előtt
0
[e-mail védett]: ~ $ echo “-1 || 0 ”| időszámításunk előtt
1
[e-mail védett]: ~ $ echo “! 0 ”| időszámításunk előtt
1

Feltételes nyilatkozatok

A feltételes utasításokat az adott feltételektől függően meghatározott parancsok végrehajtására használják. A feltételes utasításban alkalmazott feltétel logikai és összehasonlító operátorokat von maga után. Az alábbiakban bemutatjuk a feltételes utasítások példáját a 'bc' paranccsal.

[e-mail védett]: ~ $ a = 15
[e-mail védett]: ~ $ b = 20
[e-mail védett]: ~ $ echo ', ha (a> b) "a nagyobb" nyomtatás, különben "b nagyobb" nyomtatás | bc -l
b nagyobb

A fenti példában az utasítás ellenőrzi, hogy a nagyobb-e, mint b. Ha a nagyobb, mint b, akkor az „a nagyobb”; különben kinyomtatja: „b nagyobb.”Bármely feltételt alkalmazhatunk logikai és összehasonlító operátorokkal a fenti példában.

Matematikai függvények

A 'bc' parancs tartalmaz néhány beépített matematikai függvényt is, amelyeket anélkül is használhatunk, hogy meghatároznánk azokat. Az alábbiakban néhány alapvető funkciót használunk a 'bc' paranccsal a bash-ban.

  • s (x): x szinuszát adja vissza, ahol x radiánban van
  • c (x): x koszinuszát adja vissza, ahol x radiánban van
  • fejsze): x arctangentjét adja eredményül, és az eredmény radiánban jelenik meg
  • sqrt (x): az x négyzetgyökét adja vissza. Futásidejű hibát okoz, ha x negatív
  • l (x): az x természetes log-ját adja eredményül.

Ezeket a függvényeket a 'bc' paranccsal lehet használni, amint azt a következő példák mutatják.

[e-mail védett]: ~ $ pi = 3.1415
[e-mail védett]: ~ $ echo “s ($ pi / 2)” | bc -l
1
[e-mail védett]: ~ $ echo “c ($ pi / 2)” bc -l
0
[e-mail védett]: ~ $ echo “a (1)” | bc -l
0.7854

Egy szám négyzetgyökét bash-ban lehet kiszámítani a 'bc' paranccsal, amint az a következő ábrán látható.

[e-mail védett]: ~ $ echo “sqrt (4)” | bc -l
2

Miközben megpróbálja kiszámítani a negatív szám négyzetgyökét, a shell futásidejű hibát vet fel.

[e-mail védett]: ~ $ echo “sqrt (-2)” | bc -l
Futásidejű hiba (func = (main), adr = 4): A negatív szám négyzetgyöke

Egy szám természetes logaritmusa kiszámítható bash-ban a 'bc' paranccsal az alábbiak szerint.

[e-mail védett]: ~ $ echo “l (2)” | bc -l
.69314718055994530941

Következtetés

Miközben automatizálási szkripteket írunk bash-ba, néha fejlett matematikai függvényekre és logikai operátorokra van szükségünk a parancsok végrehajtásához. A 'bc' parancs sok fejlett matematikai funkciót és operátort biztosít a magas szintű számtani számítások elvégzéséhez. Ez az oktatóanyag a 'bc' paranccsal tárgyalta fejlett számtani műveletek elvégzését a bash-ban.

Az FPS-számláló megjelenítése a Linux-játékokban
A Linux játék komoly lendületet kapott, amikor a Valve 2012-ben bejelentette a Linux támogatását a Steam kliensnek és játékaiknak. Azóta sok AAA és in...
Sid Meier Civilization VI letöltése és lejátszása Linuxon
Bevezetés a játékba A Civilization 6 egy modern felvétel a Age of Empires játékok sorozatában bevezetett klasszikus koncepcióra. Az ötlet meglehetősen...
A Doom telepítése és lejátszása Linuxon
Bevezetés a Doom-ba A Doom sorozat a 90-es években keletkezett az eredeti Doom megjelenése után. Azonnali sláger volt, és ettől kezdve a játéksorozat ...