Turinys
- Kaip pridėti skaičiavimus prie Bash scenarijaus
- Slankiojo kablelio aritmetika Baše
- Alternatyvi sintaksė aritmetikai
Kaip pridėti skaičiavimus prie Bash scenarijaus
Nors bashas yra scenarijų kalba, jis turi beveik visas bendrosios paskirties programavimo kalbos galimybes. Tai apima aritmetines funkcijas. Yra daugybė sintaksės variantų, kuriuos galite naudoti išraiškos aritmetiniam įvertinimui sukelti. Turbūt labiausiai skaitomas yra leisti komanda. Pavyzdžiui:
tegul m = (4 * 1024)
apskaičiuos 4 kartus 1024 ir priskirs rezultatą kintamajam „m“.
Rezultatą galite atsispausdinti pridėdami aidas pareiškimas:
echo $ m
Taip pat galite sukurti failą, kuriame yra „Bash“ komandos. Tokiu atveju failo viršuje turėtumėte pridėti eilutę, nurodančią programą, kuri turėtų vykdyti kodą. Pavyzdžiui:
#! / šiukšliadėžė / bash
darant prielaidą, kad vykdomasis Bash yra / šiukšliadėžė / bash. Taip pat turite nustatyti scenarijaus failo teises, kad jis būtų vykdomas. Darant prielaidą, kad scenarijaus failo vardas yra scenarijus1.sh, galite nustatyti leidimus, kad failas būtų vykdomas vykdant komandą:
chmod + x script1.sh
Po to jūs galite jį vykdyti naudodamiesi komanda:
./script1.sh
Galimos aritmetinės operacijos yra panašios į tas, kurios naudojamos standartinėse programavimo kalbose, tokiose kaip „Java“ ir „C“. Be daugybos, kaip parodyta aukščiau, jūs naudojate papildymą:
tegul m = (5 + 5)
arba atimtis:
tegul m = (10 - 2)
arba skyrius:
tegul m = (10/2)
arba modulo (likutis po sveiko skaičiaus padalijimo):
tegul m = (11/2)
Kai operacija taikoma tam pačiam kintamajam, kuriam priskiriamas rezultatas, galite naudoti įprastus aritmetinius sutrumpinimo priskyrimo operatorius, dar vadinamus sudėtiniais priskyrimo operatoriais. Pavyzdžiui, papildomai turime:
((m + = 15))
kuris lygus „m = m + 15“. Norėdami atimti, mes turime:
((m- = 3))
kuris lygus „m = m - 3“. Padalijimui mes turime:
((m / = 5))
kuris lygus „m = m / 5“. Dėl „Modulo“ mes turime:
((m% = 10))
kuris lygus „m = m% 10“.
Be to, galite naudoti prieaugis ir nuosprendis operatoriai:
((m ++))
yra lygus „m = m + 1“. Ir
((m--))
yra lygus „m = m - 1“.
Slankiojo kablelio aritmetika Baše
leisti operatorius dirba tik sveikojo skaičiaus aritmetika. Slankaus kablelio aritmetikai galite naudoti, pavyzdžiui, GNU bc skaičiuoklę, kaip parodyta šiame pavyzdyje:
aidas 32,0 + 1,4 | bc
"Vamzdžio" operatorius "|" perduoda aritmetinę išraišką „32,0 + 1,4“ į bc skaičiuoklę, kuri grąžina tikrąjį skaičių. Echo komanda išspausdina rezultatą į standartinę išvestį.
Alternatyvi sintaksė aritmetikai
Kryptys (atgalinės kabutės) gali būti naudojamos aritmetiniam išraiškos įvertinimui, kaip šiame pavyzdyje:
aidas `expr $ m + 18`
Tai pridės 18 prie kintamojo „m“ vertės ir tada išspausdins rezultatą.
Norėdami priskirti apskaičiuotą reikšmę kintamajam, galite naudoti lygybės ženklą be tarpų aplink jį:
m = `ex $ m + 18`
Kitas būdas įvertinti aritmetines išraiškas yra naudoti dvigubus skliaustus. Pavyzdžiui:
((m * = 4))
Tai keturis kartus padidins kintamojo „m“ vertę.
Be aritmetinio įvertinimo, „Bash“ apvalkale yra ir kitų programavimo konstrukcijų, tokių kaip kilpos, o kilpos, sąlyginės, funkcijos ir paprogramės.