BASH programavimas

BC atlikti pažangias aritmetines operacijas BASH

BC atlikti pažangias aritmetines operacijas BASH
Pagrindinis skaičiuoklė, dar vadinamas „bc“, yra „Linux“ komandinės eilutės įrankis, naudojamas pažangiai aritmetikai ir algebrai atlikti „bash“ scenarijuose. Tai suteikia daug įvairių matematinių funkcijų, tokių kaip sinusas, kosinusas, liestinė, natūralusis logaritmas bash. Bashas negali atlikti pažangių aritmetinių operacijų, pavyzdžiui, lyginti plūdes; būtent ten praverčia bc. Prieš komandą „bc“ buvo „UNIX“ įrankis „dc“ („Desk Calculator“). Šioje pamokoje naudosime komandą „bc“, kad atliktume išplėstines aritmetines operacijas.

Atliekant pagrindines aritmetines operacijas

Paprastas aritmetines operacijas, tokias kaip susiejimas, atimimas, padalijimas ir dauginimas, galima atlikti naudojant komandą „bc“. Sintaksė paprastiems dvejetainiams operatoriams „bash“ naudojant „bc“ komandą yra tokia.

[apsaugotas el. paštas]: ~ $ echo “ “| bc

Šiame skyriuje naudosime komandą „bc“, kad atliktume paprastas aritmetines operacijas.

[apsaugotas el. paštas]: ~ $ num1 = 2.35322 5
[apsaugotas el. paštas]: ~ $ num2 = 1.223353
[apsaugotas el. paštas]: ~ $ echo „$ num1 + $ num2“ | bc
3.576578
[apsaugotas el. paštas]: ~ $ echo „$ num1- $ num2“ | bc
1.129872 m
[apsaugotas el. paštas]: ~ $ echo „$ num1 * $ num2“ | bc
2.878824
[apsaugotas el. paštas]: ~ $ echo „$ num1 / $ num2“ | bc
1

Ankstesniame pavyzdyje atlikdami dalijimą, mes gavome rezultatą be dešimtainių taškų. Norėdami gauti rezultatą iki „n“ dešimtainio kablelio, turime nustatyti skalės vertę į „n“, kaip parodyta kitame pavyzdyje.

[apsaugotas el. paštas]: ~ $ echo “skalė = 10; $ num1 / $ num2 “| bc
1.9235862420

Arba galime naudoti „-l“ vėliavą ir „bc“ komandą, kad gautume dešimtainę išvestį.

[apsaugotas el. paštas]: ~ $ echo „$ num1 / $ num2“ | bc -l
1.92358624207403750184

„Bc“ komanda taip pat gali būti naudojama modulio dalijimui atlikti ir skaičiaus galiai apskaičiuoti pagal bash scenarijus.

[apsaugotas el. paštas]: ~ $ aidas „10% 4“ | bc
2
[apsaugotas el. paštas]: ~ $ echo „10 ^ 2“ | bc
100

Išplėstinių aritmetinių operacijų atlikimas

Iki šiol naudojome komandą „bc“, kad atliktume kai kurias pagrindines aritmetines operacijas, pvz., Susiejimą, atimimą, dauginimą ir kt., dabar; šiame skyriuje naudosime komandą „bc“, kad atliktume kai kurias išplėstines aritmetines operacijas. Aptarsime, kaip galime naudoti palyginimo operatorius, loginius ar loginius operatorius, pažangias matematines funkcijas ir sąlyginius sakinius „bash“, naudodami komandą „bc“.

Palyginimo operatoriai

Palyginimo operatoriai paima du skaičius, palygina juos ir grįžta 1 arba 0 priklausomai nuo palyginimo. Jei palyginimas yra teisingas, tada rezultatas yra TIESA (1); kitaip yra NETIESA (0). Toliau pateikiami keli palyginimo operatorių pavyzdžiai.

  • num1> num2: Šis palyginimas grįš 1 jei num1 yra didesnis už num2.
  • num1 < num2: Rezultatas bus 1 jei num1 yra mažesnis nei num2.
  • num1 <= num2: Rezultatas bus 1 jei num1 yra mažesnis arba lygus num2.
  • num1> = num2: Rezultatas bus 1 jei num1 yra didesnis arba lygus num2.
  • num1 == num2: Rezultatas bus 1 jei num1 yra lygus num2.
  • num1 != num2: Rezultatas bus 1 jei abu skaičiai nėra lygūs.

Toliau pateikiami keli palyginimo operatorių, naudojamų kartu su komanda „bc“, pavyzdžiai.

[apsaugotas el. paštas]: ~ $ aidas „5 == 5“ | bc
1
[apsaugotas el. paštas]: ~ $ echo “4!= 4 “| bc
0
[apsaugotas el. paštas]: ~ $ aidas „2> 5“ | bc
0
[apsaugotas el. paštas]: ~ $ echo “4<=4” | bc
1

Būlio operatoriai

Loginiai arba loginiai operatoriai sąlyginiuose sakiniuose naudojami tam tikriems loginiams sprendimams atlikti. Toliau pateikiami trys pagrindiniai loginiai operatoriai.

  • stat1 && stat2: Tai grįš 1 jei abu teiginiai yra nulis.
  • stat1 || stat2: Tai grįš 1 jei kuris nors iš teiginių yra nulis.
  • ! stat: Tai grįš 1 jei teiginys yra nulis ir atvirkščiai.

Šie pavyzdžiai iliustruoja, kaip loginiai operatoriai naudojami su „bc“ komanda.

[saugomas el. paštas]: ~ $ echo „-5 && 0“ | bc
0
[apsaugotas el. paštas]: ~ $ echo “-1 || 0 “| bc
1
[apsaugotas el. paštas]: ~ $ echo “! 0 “| bc
1

Sąlyginiai pareiškimai

Sąlyginiai teiginiai naudojami konkrečioms komandoms vykdyti, atsižvelgiant į taikomą sąlygą. Sąlyginiame sakinyje taikoma sąlyga apima loginius ir palyginimo operatorius. Toliau pateikiamas sąlyginių sakinių su komanda „bc“ pavyzdys.

[apsaugotas el. paštas]: ~ $ a = 15
[apsaugotas el. paštas]: ~ $ b = 20
[apsaugotas el. paštas]: ~ $ echo ', jei (a> b) spausdinama „a yra didesnė“, kitaip spausdinama „b yra didesnė“' | bc -l
b yra didesnis

Ankstesniame pavyzdyje teiginys patikrina, ar a yra didesnis nei b, ar ne. Jei a yra didesnis nei b, jis atspausdins „a yra didesnis“; kitaip jis atspausdins „b yra didesnis.„Mes galime taikyti bet kurią sąlygą naudodami loginius ir palyginimo operatorius aukščiau pateiktame pavyzdyje.

Matematinės funkcijos

„Bc“ komanda taip pat pateikia keletą integruotų matematinių funkcijų, kurias galime naudoti jų neapibrėždami. Toliau pateikiamos kelios pagrindinės funkcijos, naudojamos naudojant „bc“ komandą „bash“.

  • s (x): grąžina x sinusą, kur x yra radianais
  • c (x): grąžina x kosinusą, kur x yra radianais
  • a (x): pateikia x arktangentą ir rezultatas yra radianas
  • sqrt (x): grąžina x kvadratinę šaknį. Tai sukelia vykdymo laiko klaidą, kai x yra neigiamas
  • l (x): pateikia natūralų x žurnalą.

Šias funkcijas galima naudoti kartu su komanda „bc“, kaip parodyta tolesniuose pavyzdžiuose.

[el. pašto saugoma]: ~ $ pi = 3.1415 m
[apsaugotas el. paštas]: ~ $ echo „s ($ pi / 2)“ | bc -l
1
[apsaugotas el. paštas]: ~ $ echo „c ($ pi / 2)“ | bc -l
0
[apsaugotas el. paštas]: ~ $ aidas „a (1)“ | bc -l
0.7854

Skaičiaus kvadratinę šaknį galima apskaičiuoti bash, naudojant komandą „bc“, kaip parodyta kitame paveiksle.

[apsaugotas el. paštas]: ~ $ echo „sqrt (4)“ | bc -l
2

Bandant apskaičiuoti neigiamo skaičiaus kvadratinę šaknį, apvalkalas sukels vykdymo laiko klaidą.

[apsaugotas el. paštas]: ~ $ echo „sqrt (-2)“ | bc -l
Klaida vykdymo metu (func = (pagrindinis), adr = 4): neigiamo skaičiaus kvadratinė šaknis

Natūralų skaičiaus logaritmą galima apskaičiuoti bash naudojant „bc“ komandą taip.

[apsaugotas el. paštas]: ~ $ aidas „l (2)“ | bc -l
.69314718055994530941

Išvada

Rašydami automatikos scenarijus bash, kartais mums reikia pažangių matematinių funkcijų ir loginių operatorių komandoms vykdyti. Komanda „bc“ suteikia daug pažangių matematinių funkcijų ir operatorių aukšto lygio aritmetiniams skaičiavimams atlikti. Šioje pamokoje aptarta „bc“ komandos naudojimas atliekant išplėstines aritmetines operacijas bash.

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Peržiūrėkite pelės mygtukus skirtingai programinei įrangai naudodami „X-Mouse Button Control“
Galbūt jums reikia įrankio, kuris galėtų pakeisti jūsų pelės valdymą kiekvienoje jūsų naudojamoje programoje. Tokiu atveju galite išbandyti programą, ...
„Microsoft Sculpt Touch“ belaidžio pelės apžvalga
Neseniai skaičiau apie „Microsoft Sculpt Touch“ belaidę pelę ir nusprendė ją nusipirkti. Kurį laiką naudojęs, nusprendžiau pasidalinti savo patirtimi....