Arithmetic di Bash

Kumaha Tambahkeun itungan ka Bash Script

Sanajan Bash mangrupakeun basa scripting, éta boga lumayan loba sagala kamampuan tina basa programming Tujuan umum. Ieu ngawengku fungsi arithmetic. Aya sababaraha rumpaka pilihan anjeun tiasa nganggo mun membangkitkan evaluasi arithmetic tina hiji éksprési. Sugan hiji paling bisa dibaca téh paréntah hayu. Salaku conto

hayu "m = 4 * 1024"

baris ngitung 4 kali 1024 sarta napelkeun hasil ka variabel "m".

Anjeun tiasa nyitak kaluar hasilna ku nambahkeun hiji pernyataan bahana:

hayu "m = 4 * 1024" bahana $ m

Anjeun tiasa nguji ieu ti garis paréntah ku cara nuliskeun kodeu handap:

hayu "m = 4 * 1024"; bahana $ m

Anjeun oge bisa nyieun hiji file nu ngandung paréntah Bash, nu hal kudu nambahan hiji garis dina luhureun éta file nu hususna program anu sakuduna dituju sangkan ngaéksekusi kode teh. Salaku conto:

#! / bin / bash hayu "m = 4 * 1024" bahana $ m

asumsina dina laksana Bash ieu lokasina di / bin / bash. Anjeun oge kudu ngeset idin ti file Aksara anjeun meh bisa laksana. Anggap nami file Aksara téh script1.sh, anjeun tiasa nyetél idin sangkan nu laksana file kalawan sorana:

chmod 777 script1.sh

Sanggeus nu bisa ngaéksekusi eta kalawan sorana:

./script1.sh

Operasi arithmetic sadia nu sarupa jelema dina basa programming baku kawas Java sarta C. Di sagigireun multiplication, sakumaha gambar di luhur, Anjeun nganggo tambahan:

hayu "m = a + 7"

atanapi pangurangan:

hayu "m = a - 7"

atanapi division:

hayu "m = a / 2"

atanapi Modulo (sésana sanggeus hiji division integer):

hayu "m = a% 100"

Nalika hiji operasi ieu dilarapkeun kana variabel sarua nu hasilna ieu ditugaskeun anjeun bisa make standar arithmetic operator ngerjakeun shorthand, disebut ogé operator sanyawa ngerjakeun. Contona, pikeun tambahan, urang kudu:

hayu "m + = 15"

nu sarua jeung "m = m + 15". Pikeun pangurangan kami kudu:

hayu "m - = 3"

nu sarua jeung "m = m - 3". Pikeun division kami kudu:

hayu "m / = 5"

nu sarua jeung "m = m / 5". Jeung Modulo, urang kudu:

hayu "m% = 10"

nu sarua jeung "m = m% 10".

Sajaba, anjeun tiasa nganggo increment na decrement operator:

hayu "m ++"

sarua jeung "m = m + 1". jeung

hayu "m--"

sarua jeung "m = m - 1".

Lajeng aya nu ternary "Patarosan tanda-titik" operator, nu mulih salah sahiji dua nilai gumantung naha kaayaan dieusian bener atawa palsu. Salaku conto

hayu "k = (m <9) 0:? 1"

Sisi-sisi katuhu tina pernyataan ngerjakeun ieu ngaevaluasi keur "0" lamun variabel "m" nyaeta kirang ti 9. Upami teu kitu, eta ngaevaluasi keur 1. Ieu ngandung harti variabel "k" ieu ditugaskeun "0" lamun "m" URANG SUNDA ti 9 na "1" disebutkeun.

Bentuk umum ti operator tanda-titik sual nyaeta:

kaayaan ? nilai-lamun-leres: nilai-lamun-palsu

Floating Point Aritmatika di Bash

Operator hayu ngan lumaku pikeun arithmetic integer. Pikeun floating titik arithmetic anjeun tiasa nganggo contona dina Lisénsi SM kalkulator sakumaha gambar dina conto ieu:

bahana "32.0 + 1.4" | SM

The "pipe" operator "|" pas babasan arithmetic "32.0 + 1.4" kana kalkulator SM, nu mulih jumlah nyata. The bahana paréntah prints hasil ka output baku.

Rumpaka alternatif pikeun Aritmatika

Backticks (deui tanda petik tunggal) bisa dipaké pikeun evaluate hiji éksprési arithmetic sakumaha dina conto ieu:

bahana `expr $ m + 18`

Ieu bakal nambahkeun 18 kana nilai variabel "m" lajeng nyitak kaluar hasilna.

Pikeun ngadaptarkeun nilai itung keur variabel Anjeun tiasa make tanda sarua tanpa spasi sabudeureun eta:

m = `expr $ m + 18`

Cara séjén pikeun evaluate ungkapan arithmetic nyaeta ngagunakeun parenthesis ganda. Salaku conto:

((M * = 4))

Ieu bakal quadruple nilai variabel "m".

Di sagigireun evaluasi arithmetic, anu Bash cangkang nyadiakeun constructs programming lianna, kayaning keur-puteran , bari-puteran , conditionals , sarta fungsi na subroutines .