Expr ja calc käsk: lahendage terminalis matemaatilised avaldised

Olen üks neist, kes alati skripte programmeerib sisse lööma igapäevaste olukordade lahendamiseks (lõhkuda AP / ruuteri parooli, automatiseerida protsesse jne.).

Teatud juhtudel olen näinud vajadust omistada muutujale matemaatilise avaldise väärtus või lihtsalt töötada matemaatiliste avaldistega, seal leian end probleemist, et bashi ja matemaatilised avaldised, arvutused pole eriti sõbralikud. Juhtub, et bash pole nagu python, mida me saame öelda muutuja = 1 + 5/6 (näiteks), Bashis peame kasutama käsku ekspr o Tracing

Expr käsk

Teisisõnu, käsk expr aitab meil terminalis matemaatilisi väljendeid lahendada, sellega saame välja arvutada, mida vajame. Näiteks kui soovime, et ilmuks tulemus 1 + 2 * 8/3, sisestame terminali:

expr 1 + 2 \* 8 / 3

Pange tähele, et enne tärn * panin tagasilöögi - »\ ... see on vajalik, kuna expr ei tõlgenda tärti korrutussümbolina, kui \

Ja tulemus ilmub ekraanile. Siin on ekraanipilt mõne näite abil:

screenshot_expr1

Nagu näete lõplikest arvutustest (14/4 ja 13/4), on 14 jagatud 4-ga tegelikult 3.5 ja 13 jagatud 4-ga on tegelikult 3.25, siis kuidas on võimalik, et see näitab meile mõlemal juhul 3? Mis juhtub, on see, et käsk expr ei näita meile kümnendkohti, see tähendab, mis järgneb komale, see ei näita seda, vaid näitab ainult täisarvu.

Kui tahame muutujale omistada matemaatilise avaldise tulemuse (Nt: 10/2), oleks see järgmine:

variable=`expr 10 / 2`

Seejärel kontrollime seda järgmisega:

echo $variable

On oluline, et iga tähemärgi vahel oleks tühik, st tühik iga numbri, iga liitmise, lahutamise, korrutamise või jagamise sümboli vahel

Arvutage käsk

Erinevalt eelmisest on see täpne kümnendkohtade osas, näiteks:

calc 15 / 4

See näitaks meile: 3.75

Siin on mitme näite ekraanipilt:

screenshot_calc

Erinevalt expr-ist on Calci kasutamisel parem, et iga märgi vahel ei oleks tühimikke, see tähendab, et numbrite ja sümbolite vahel ei oleks tühikuid, nagu näete eelmises pildis. Samuti ei pea nad enne tähte \

Noh, see on põhimõtteliselt see, millest ma tahtsin teile rääkida.

Kuid iga käsu jaoks on veel mõned huvitavad näpunäited (eriti calc), soovitan teil lugeda juhendit:

man calc

man expr

seoses


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   elav DIJO

    Väga kasulik, kuigi matemaatiliste arvutuste tegemiseks ei oleks kindlasti hea kasutada Bashi, kümnendkohad lähevad arvesse :)

    1.    Wada DIJO

      Hr elav, meil on endiselt bashi kalkulaator 🙂 saame kasutada tavalise matemaatikakogumi kasutamiseks argumenti -l
      midagi sellist

      $ echo "(4/8)+(6/9)" | bc -l
      1.166666666666666666666666

      ha

      1.    elav DIJO

        ????

      2.    eliotime3000 DIJO

        Suurepärane. Nii väldin puhta X11 kasutamisel vaeva XCalci installimisega.

      3.    KZKG ^ Gaara DIJO

        Oh seda ma ei teadnud, super !!

  2.   clow_eriol DIJO

    Aitäh, see on üsna kasulik 😉

    1.    KZKG ^ Gaara DIJO

      Aitäh ^ _ ^

  3.   Noktuido DIJO

    Aitäh. Süsteemkalkulaator on olnud põhitegevuste konkurent.

    1.    KZKG ^ Gaara DIJO

      Täname teid, et meid lugesite 🙂

  4.   Joaquin DIJO

    Hea näpunäide!

  5.   Pedro lala DIJO

    Ei ole mul kummitus