BASH-programmering

bc for å utføre avanserte aritmetiske operasjoner i BASH

bc for å utføre avanserte aritmetiske operasjoner i BASH
Basic Calculator, også kjent som 'bc', er et Linux-kommandolinjeverktøy som brukes til å utføre avansert aritmetikk og algebra i bash-skript. Det gir mange forskjellige matematiske funksjoner som sinus, cosinus, tangens, naturlig logaritme i bash. Bash kan ikke utføre avanserte aritmetiske operasjoner, som å sammenligne flyter; det er der bc kommer godt med. Kommandoen 'bc' ble innledet av 'dc' (Desk Calculator), et UNIX-verktøy. I denne opplæringen bruker vi kommandoen 'bc' til å utføre avanserte regneoperasjoner.

Utfører grunnleggende aritmetiske operasjoner

Enkle aritmetiske operasjoner som addisjon, subtraksjon, divisjon og multiplikasjon kan utføres ved å bruke kommandoen 'bc'. Syntaksen for å bruke enkle binære operatører i bash ved å bruke kommandoen 'bc' er som følger.

[e-postbeskyttet]: ~ $ echo “ ”| bc

I denne delen vil vi bruke kommandoen 'bc' til å utføre enkle regneoperasjoner.

[e-postbeskyttet]: ~ $ num1 = 2.35322 5
[e-postbeskyttet]: ~ $ num2 = 1.223353
[e-postbeskyttet]: ~ $ echo “$ num1 + $ num2” | bc
3.576578
[e-postbeskyttet]: ~ $ echo “$ num1- $ num2” | bc
1.129872
[e-postbeskyttet]: ~ $ echo “$ num1 * $ num2” | bc
2.878824
[e-postbeskyttet]: ~ $ echo “$ num1 / $ num2” | bc
1

I eksemplet ovenfor, mens vi utførte divisjon, fikk vi resultatet uten desimaltegn. For å få resultatet opp til 'n' desimaltegn, må vi sette skalaverdien til 'n' som vist i følgende eksempel.

[e-postbeskyttet]: ~ $ echo “scale = 10; $ num1 / $ num2 ”| bc
1.9235862420

Alternativt kan vi bruke '-l' flagget og 'bc' kommandoen for å få desimalutdata.

[e-postbeskyttet]: ~ $ echo “$ num1 / $ num2” | bc -l
1.92358624207403750184

Kommandoen 'bc' kan også brukes til å utføre moduldeling og beregne kraften til et tall i bash-skript.

[e-postbeskyttet]: ~ $ ekko “10% 4” | bc
2
[e-postbeskyttet]: ~ $ echo “10 ^ 2” | bc
100

Utfører avanserte aritmetiske operasjoner

Så langt har vi brukt kommandoen 'bc' til å utføre noen grunnleggende aritmetiske operasjoner som tillegg, subtraksjon, multiplikasjon osv., nå; i denne delen vil vi bruke kommandoen 'bc' til å utføre noen avanserte aritmetiske operasjoner. Vi vil diskutere hvordan vi kan bruke sammenligningsoperatorer, logiske eller boolske operatorer, avanserte matematiske funksjoner og betingede utsagn i bash ved å bruke kommandoen 'bc'.

Sammenligningsoperatører

Sammenligningsoperatører tar to tall, sammenligner dem og returnerer deretter 1 eller 0 avhengig av sammenligningen. Hvis sammenligningen er sant, blir resultatet SANT (1); ellers er det FALSE (0). Følgende er noen eksempler på sammenligningsoperatører.

  • num1> num2: Denne sammenligningen vil komme tilbake 1 hvis num1 er større enn num2.
  • num1 < num2: Resultatet blir 1 hvis num1 er mindre enn num2.
  • num1 <= num2: Resultatet blir 1 hvis num1 er mindre enn eller lik num2.
  • num1> = num2: Resultatet blir 1 hvis num1 er større enn eller lik num2.
  • num1 == num2: Resultatet blir 1 hvis num1 er lik num2.
  • num1 != num2: Resultatet blir 1 hvis begge tallene ikke er like.

Følgende er noen eksempler på sammenligningsoperatører som brukes sammen med kommandoen 'bc'.

[e-postbeskyttet]: ~ $ echo “5 == 5” | bc
1
[e-postbeskyttet]: ~ $ echo “4!= 4 ”| bc
0
[e-postbeskyttet]: ~ $ echo “2> 5” | bc
0
[e-postbeskyttet]: ~ $ echo “4<=4” | bc
1

Boolske operatører

Boolske eller logiske operatorer brukes i betingede uttalelser for å utføre noen logiske avgjørelser. Følgende er de tre grunnleggende logiske operatørene.

  • stat1 && stat2: Dette kommer tilbake 1 hvis begge uttalelsene er ikke-null.
  • stat1 || stat2: Dette kommer tilbake 1 hvis noen av uttalelsene er ikke-null.
  • ! stat: Dette kommer tilbake 1 hvis uttalelsen er ikke-null og vice versa.

Følgende eksempler illustrerer hvordan logiske operatorer brukes med kommandoen 'bc'.

[e-postbeskyttet]: ~ $ echo “-5 && 0” | bc
0
[e-postbeskyttet]: ~ $ echo “-1 || 0 ”| bc
1
[e-postbeskyttet]: ~ $ echo “! 0 ”| bc
1

Betingede uttalelser

Betingede utsagn brukes til å utføre spesifikke kommandoer avhengig av den anvendte tilstanden. Den anvendte tilstanden i betingelseserklæringen involverer logiske og sammenligningsoperatører. Følgende er eksemplet på betingede uttalelser med kommandoen 'bc'.

[e-postbeskyttet]: ~ $ a = 15
[e-postbeskyttet]: ~ $ b = 20
[e-postbeskyttet]: ~ $ echo 'hvis (a> b) skriver ut "a er større" ellers skriver "b er større"' | bc -l
b er større

I eksemplet ovenfor sjekker utsagnet om a er større enn b eller ikke. Hvis a er større enn b, vil den trykke "a er større"; Ellers vil den skrive ut “b er større.”Vi kan bruke alle forhold ved å bruke boolske og sammenligningsoperatorer i eksemplet ovenfor.

Matematiske funksjoner

Kommandoen 'bc' gir også noen innebygde matematiske funksjoner som vi kan bruke uten å definere dem. Følgende er noen viktige funksjoner som brukes med kommandoen 'bc' i bash.

  • s (x): returnerer sinus på x der x er i radianer
  • c (x): returnerer cosinus på x der x er i radianer
  • øks): returnerer arktangens på x og resultatet er i radianer
  • sqrt (x): returnerer kvadratroten på x. Det forårsaker kjøretidsfeil når x er negativ
  • l (x): returnerer naturlig logg for x.

Disse funksjonene kan brukes med kommandoen 'bc', som vist i eksemplene nedenfor.

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

Kvadratroten til et tall kan beregnes i bash ved hjelp av kommandoen 'bc', som vist i følgende figur.

[e-postbeskyttet]: ~ $ echo “sqrt (4)” | bc -l
2

Mens du prøver å beregne kvadratroten til et negativt tall, vil skallet kaste en kjøretidsfeil.

[e-postbeskyttet]: ~ $ echo “sqrt (-2)” | bc -l
Runtime error (func = (main), adr = 4): Kvadratrot av et negativt tall

Den naturlige logaritmen til et tall kan beregnes bash ved å bruke kommandoen 'bc' som følger.

[e-postbeskyttet]: ~ $ echo “l (2)” | bc -l
.69314718055994530941

Konklusjon

Mens vi skriver automatiseringsskripter i bash, trenger vi noen ganger avanserte matematiske funksjoner og logiske operatorer for å utføre kommandoer. Kommandoen 'bc' gir mange avanserte matematiske funksjoner og operatører for å utføre aritmetiske beregninger på høyt nivå. Denne opplæringen diskuterte bruk av 'bc' kommandoen for å utføre avanserte aritmetiske operasjoner i bash.

Mus Hvordan endre venstre og høyre museknapp på Windows 10 PC
Hvordan endre venstre og høyre museknapp på Windows 10 PC
Det er ganske vanlig at alle datamusenheter er ergonomisk designet for høyrehendte brukere. Men det er tilgjengelige musenheter som er spesielt design...
Mus Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Bruk av mus eller tastatur i feil stilling for overdreven bruk kan føre til mange helseproblemer, inkludert belastning, karpaltunnelsyndrom og mer. I ...
Mus Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
De siste årene har datamaskiner og operativsystemer utviklet seg sterkt. Det var en tid da brukere måtte bruke kommandoer for å navigere gjennom filad...