Kuidas Bash-skriptile arvutusi lisada

Mida teada

  • Kasuta lase käsk avaldise aritmeetilise hinnangu saamiseks, näiteks in olgu m = (4 * 1024).
  • Saadaolevad aritmeetilised toimingud on sarnased tavaliste programmeerimiskeelte (nt Java ja C) tehtavatega.
  • Let-operaator töötab ainult täisarvude aritmeetika puhul. Ujukoma aritmeetika jaoks kasutage GNU bc kalkulaator.

Kuigi Bash on skriptikeel, on sellel suurem osa üldotstarbelise programmeerimiskeele võimalustest. See hõlmab aritmeetilisi funktsioone. Siin on, kuidas lisada bash-skriptile arvutusi.

Kuidas Bash-skriptile arvutusi lisada

On mitmeid süntaks suvandid, mida saate kasutada avaldise aritmeetilise hindamise esilekutsumiseks. Võib-olla on kõige loetavam lase käsk. Näiteks:

olgu m = (4 * 1024)

arvutab 4 korda 1024 ja määrab tulemuse muutujale "m".

Saate tulemuse välja printida, lisades kaja avaldus:

kaja $m

Samuti saate luua Bashi käske sisaldava faili, mille puhul peaksite faili ülaossa lisama rea, mis määrab programmi, mis peaks koodi käivitama. Näiteks:

#! /bin/bash

eeldades, et Bashi käivitatav fail asub

/bin/bash. Samuti peate määrama oma skriptifaili õigused, et see oleks käivitatav. Eeldades, et skripti faili nimi on script1.sh, saate määrata õigused faili käivitatavaks muutmiseks käsuga:

chmod +x script1.sh

Pärast seda saate seda käivitada rakendusega käsk:

./script1.sh

Saadaolevad aritmeetilised toimingud on sarnased tavaliste programmeerimiskeelte (nt Java ja C) tehtavatega. Lisaks korrutamisele, nagu ülal näidatud, kasutate liitmist:

olgu m=(5 + 5)

või lahutamine:

olgu m=(10–2)

või jaotus:

olgu m = (10/2)

või modulo (ülejäänud osa pärast täisarvu jagamist):

olgu m = (11/2)

Kui toimingut rakendatakse samale muutujale, millele tulemus on määratud, saate kasutada standardseid aritmeetilisi stenogrammi määramistehtereid, mida nimetatakse ka liitmääramistehteriteks. Näiteks on meil lisaks:

(( m+=15 ))

mis on samaväärne "m = m + 15". Lahutamiseks on meil:

(( m-=3 ))

mis on samaväärne "m = m - 3". Jagamiseks on meil:

(( m/=5 ))

mis on samaväärne "m = m / 5". Ja modulo jaoks on meil:

(( m% = 10 ))

mis võrdub "m = m % 10".

Lisaks saate kasutada juurdekasv ja vähenemine operaatorid:

(( m++ ))

võrdub "m = m + 1". Ja.

(( m-- ))

on samaväärne "m = m - 1".

Ujukoma aritmeetika Bashis

The lase operaator töötab ainult täisarvude aritmeetika jaoks. Ujukoma aritmeetika jaoks võite kasutada näiteks GNU-d bc kalkulaator nagu on illustreeritud selles näites:

kaja 32,0+1,4 | eKr

"Pipe" operaator "|" edastab aritmeetilise avaldise "32,0 + 1,4" bc-kalkulaatorile, mis tagastab reaalarvu. The kaja käsk prindib tulemuse standardväljundisse.

Alternatiivne süntaks aritmeetika jaoks

Aritmeetilise avaldise hindamiseks saab kasutada tagasimärke (tagasi ühekordseid jutumärke), nagu selles näites:

kaja `ekspr $m + 18`

See lisab muutuja "m" väärtusele 18 ja seejärel prindib tulemuse välja.

Arvutusväärtuse määramiseks muutujale võite kasutada võrdusmärki ilma tühikuteta:

m = "avaldis $ m + 18".

Teine viis aritmeetiliste avaldiste hindamiseks on topeltsulgude kasutamine. Näiteks:

(( m*=4 ))

See neljakordistab muutuja "m" väärtuse.

Lisaks aritmeetilisele hindamisele pakub Bashi kest muid programmeerimiskonstruktsioone, näiteks for-silmused, samas-silmused, tingimuslikud, ja funktsioonid ja alamprogrammid.