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 “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őtt1.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 -l1.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őtt2
[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őtt1
[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őtt0
[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 -l2
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 -lFutá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.