Expr and calc komanda: Atrisiniet matemātiskās izteiksmes terminālā

Es esmu viens no tiem, kas vienmēr programmē skriptus stipri iesist risināt ikdienas situācijas (uzlauzt AP / maršrutētāja paroli, automatizēt procesus utt.).

Dažos gadījumos esmu redzējis nepieciešamību piešķirt mainīgajam matemātiskās izteiksmes vērtību vai vienkārši strādāt ar matemātiskām izteiksmēm, tur es uzskatu, ka problēma, ka bash un matemātiskās izteiksmes, aprēķini nav pārāk draudzīgi. Gadās, ka bash nav kā pitons, ko mēs varam teikt mainīgais = 1 + 5/6 (piemēram), bashā mums jāizmanto komanda izteikt o Izsekošana

Izteikt komandu

Citiem vārdiem sakot, komanda expr palīdz mums atrisināt matemātiskās izteiksmes terminālā, ar to mēs varam aprēķināt mums nepieciešamo. Piemēram, ja mēs vēlamies, lai parādās rezultāts 1 + 2 * 8/3, mēs ievietojam termināli:

expr 1 + 2 \* 8 / 3

Ņemiet vērā, ka pirms zvaigznītes * es ievietoju atpakaļ slīpsvītru - »\ ... tas ir nepieciešams, jo expr zvaigznīti neinterpretē kā reizināšanas simbolu, ja vien \

Un rezultāts parādīsies ekrānā. Šeit ir ekrānuzņēmums ar dažiem piemēriem:

screenshot_expr1

Kā redzat pēdējos aprēķinos (14/4 un 13/4), 14 dalīts ar 4 faktiski ir 3.5 un 13 dalīts ar 4 faktiski 3.25, tad kā tas ir iespējams, ka tas mums abos gadījumos parāda 3? Notiek tā, ka komanda expr neparāda mums decimāldaļas, tas ir, kas seko aiz komata, tā to neparāda, tā parāda tikai veselu skaitli.

Gadījumā, ja mēs mainīgajam gribam piešķirt matemātiskas izteiksmes rezultātu (Ex: 10/2), tas būtu šādi:

variable=`expr 10 / 2`

Tad mēs to pārbaudām ar:

echo $variable

Ir svarīgi, lai starp katru rakstzīmi būtu atstarpe, tas ir, atstarpe starp katru skaitli, katru saskaitīšanas, atņemšanas, reizināšanas vai dalīšanas simbolu

Calc komanda

Šis, atšķirībā no iepriekšējā, ir precīzs pēc decimāldaļām, piemēram:

calc 15 / 4

Tas mums parādītu: 3.75

Šeit ir ekrānuzņēmums ar vairākiem piemēriem:

screenshot_calc

Atšķirībā no izteiksmes, ja mēs izmantojam calc, labāk ir tas, ka starp katru rakstzīmi NAV atstarpes, tas ir, ka starp cipariem un simboliem nav atstarpju, tāpat kā redzat iepriekšējā attēlā. Tāpat viņiem nav jāpievieno \ pirms *

Nu, tas ir tas, par ko es gribēju jums pastāstīt.

Tomēr katrai komandai joprojām ir daži citi interesanti padomi (īpaši calc), iesaku izlasīt rokasgrāmatu:

man calc

man expr

Sveicieni


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   dzīvīgs teica

    Ļoti noderīgi, lai gan matemātiskiem aprēķiniem noteikti nebūtu labi izmantot Bash, tiek skaitītas decimāldaļas :)

    1.    Wada teica

      Mr elav mums joprojām ir bash kalkulators 🙂 mēs varam izmantot argumentu -l, lai izmantotu standarta matemātikas bibliotēku
      kaut kas tamlīdzīgs

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

      ha

      1.    dzīvīgs teica

        ????

      2.    3000 teica

        Izcili. Tādā veidā es izvairos no grūtībām instalēt XCalc, izmantojot tīru X11.

      3.    KZKG ^ Gaara teica

        Ak, es nezināju šo, lieliski !!

  2.   clow_eriol teica

    Paldies, tas ir diezgan noderīgi 😉

    1.    KZKG ^ Gaara teica

      Paldies ^ _ ^

  3.   Noktuido teica

    Paldies. Sistēmas kalkulators ir bijis konkurents pamatdarbībās.

    1.    KZKG ^ Gaara teica

      Paldies jums, ka mūs lasījāt 🙂

  4.   Joaquin teica

    Labs padoms!

  5.   Pedro lala teica

    Ne mani gusto