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 “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 ”| bc1.9235862420
Alternativt kan vi bruke '-l' flagget og 'bc' kommandoen for å få desimalutdata.
[e-postbeskyttet]: ~ $ echo “$ num1 / $ num2” | bc -l1.92358624207403750184
Kommandoen 'bc' kan også brukes til å utføre moduldeling og beregne kraften til et tall i bash-skript.
[e-postbeskyttet]: ~ $ ekko “10% 4” | bc2
[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” | bc1
[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” | bc0
[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 -l2
Mens du prøver å beregne kvadratroten til et negativt tall, vil skallet kaste en kjøretidsfeil.
[e-postbeskyttet]: ~ $ echo “sqrt (-2)” | bc -lRuntime 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.