Command ng Expr at calcul: Malutas ang mga expression ng matematika sa terminal

Isa ako sa mga palaging nagprogram ng mga script malakas na palo upang malutas ang pang-araw-araw na sitwasyon (basagin ang AP / Router password, i-automate ang mga proseso, atbp.).

Sa ilang mga okasyon nakita ko ang pangangailangan na magtalaga ng halaga ng isang ekspresyong matematika sa isang variable, o simpleng gumana kasama ang mga expression ng matematika, doon ko nahahanap ang aking sarili sa problema na bash at matematika expression, ang mga kalkulasyon ay hindi masyadong magiliw. Nangyayari na ang bash ay hindi katulad ng sawa, ano ang masasabi natin variable = 1 + 5/6 (halimbawa), sa Bash dapat nating gamitin ang utos ipahayag o calc

Expr na utos

Sa madaling salita, ang utos ng expr ay tumutulong sa amin upang malutas ang mga expression ng matematika sa terminal, kasama nito maaari nating makalkula kung ano ang kailangan natin. Halimbawa, kung nais naming lumitaw ang resulta ng 1 + 2 * 8/3, inilalagay namin sa terminal:

expr 1 + 2 \* 8 / 3

Tandaan na bago ang asterisk * Inilagay ko ang backslash - »\… kinakailangan, dahil hindi binibigyang kahulugan ng expr ang asterisk bilang isang simbolo ng pagpaparami maliban kung ang \

At ang resulta ay lilitaw sa screen. Narito ang isang screenshot na may ilang mga halimbawa:

screenshot_expr1

Tulad ng nakikita mo sa huling mga kalkulasyon (14/4 at 13/4), ang 14 na hinati ng 4 ay talagang 3.5 at ang 13 na hinati ng 4 ay talagang 3.25, kaya paano posible na ipinakita ito sa amin ng 3 sa parehong mga kaso? Ang nangyayari ay hindi ipinapakita sa atin ng utos ng expr ang mga decimal, iyon ay, kung ano ang sumusunod pagkatapos ng kuwit, hindi ito ipinapakita, ipinapakita lamang sa amin ang integer.

Kung sakaling nais naming italaga sa isang variable ang resulta ng isang pagpapahayag ng matematika (Hal: 10/2), magiging ganito:

variable=`expr 10 / 2`

Pagkatapos ay suriin namin ito sa:

echo $variable

Mahalaga na mayroong puwang sa pagitan ng bawat character, iyon ay, isang puwang sa pagitan ng bawat numero, bawat pagdaragdag, pagbabawas, pagpaparami o paghahati ng dibisyon

Utos ng Calc

Ang isang ito, hindi katulad ng naunang isa, ay eksaktong sa mga tuntunin ng mga decimal, halimbawa:

calc 15 / 4

Ipapakita ito sa amin: 3.75

Narito ang isang screenshot na may maraming mga halimbawa:

screenshot_calc

Hindi tulad ng expr, kapag gumagamit kami ng calcul mas mahusay na walang puwang sa pagitan ng bawat character, iyon ay, na walang mga puwang sa pagitan ng mga numero at simbolo, tulad ng nakikita mo sa nakaraang imahe. Hindi rin nila kailangang ihanda ang isang \ bago ang *

Sa gayon, ito talaga ang nais kong sabihin sa iyo.

Gayunpaman, mayroon pa ring ilang mga kagiliw-giliw na tip para sa bawat utos (lalo na ang calcul), inirerekumenda kong basahin mo ang manu-manong:

man calc

man expr

Regards


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   masigla dijo

    Napaka-kapaki-pakinabang, kahit na tiyak na hindi magandang gamitin ang Bash para sa mga kalkulasyon sa matematika, bilang ng mga decimal.

    1.    Wada dijo

      G. elav mayroon pa kaming bash calculator 🙂 maaari naming gamitin ang -l argumento upang magamit ang karaniwang silid-aklatan sa matematika
      isang bagay na tulad nito

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

      ha

      1.    masigla dijo

        ????

      2.    eliotime3000 dijo

        Napakahusay Sa ganitong paraan maiiwasan ko ang abala ng pag-install ng XCalc kapag gumagamit ng purong X11.

      3.    KZKG ^ Gaara dijo

        Oh hindi ko alam ang isang ito, mahusay !!

  2.   clow_eriol dijo

    Salamat, ito ay lubos na kapaki-pakinabang 😉

    1.    KZKG ^ Gaara dijo

      Salamat ^ _ ^

  3.   Noctuid dijo

    Salamat. Ang calculator ng system ay naging kakumpitensya para sa pangunahing mga pagpapatakbo.

    1.    KZKG ^ Gaara dijo

      Salamat sa iyo sa pagbabasa sa amin 🙂

  4.   Joaquin dijo

    Magandang tip!

  5.   Pedro lala dijo

    Hindi ko gusto sa akin