Arithmetic in Bash

Cara Nambah Perhitungan menyang Script Bash

Senajan Bash minangka basa skrip, wis cukup akeh kabeh kemampuan pamrograman tujuan umum. Iki kalebu fungsi aritmetika. Ana sawetara pilihan sintaksis sing bisa digunakake kanggo mbangun evaluasi aritmetika ekspresi. Mbok menawa sing paling bisa dibaca yaiku perintah cetha. Tuladhane

ayo "m = 4 * 1024"

bakal ngitung 4 kaping 1024 lan menehi asil marang variabel "m".

Sampeyan bisa nyithak asil kasebut kanthi nambahake statement echo :

ayo "m = 4 * 1024" echo $ m

Sampeyan bisa nyoba iki saka baris perintah kanthi ngetik kode ing ngisor iki:

ayo "m = 4 * 1024"; echo $ m

Sampeyan uga bisa nggawe file sing ngemot perintah Bash, supaya sampeyan kudu nambah garis ing ndhuwur berkas sing nemtokake program sing mestine nglakokake kode. Tuladhane:

#! / bin / bash supaya "m = 4 * 1024" echo $ m

assuming eksekusi Bash dumunung ing / bin / bash . Sampeyan uga kudu nyetel ijin file skrip supaya bisa dieksekusi. Nganggep jeneng berkas script iku script1.sh , sampeyan bisa nyetel ijin kanggo nggawe file bisa dieksekusi kanthi printah:

chmod 777 script1.sh

Sawise sampeyan bisa nglakokne perintah kasebut:

./script1.sh

Operasi aritmetika sing ana jroning padha karo basa pemrograman standar kayata Jawa lan C. Saliyane perkalian, kaya sing digambarake ing ndhuwur, sampeyan nggunakake tambahan:

ayo "m = a + 7"

utawa subtraction:

ayo "m = a - 7"

utawa divisi:

ayo "m = a / 2"

utawa modulo (sisa sawise divisi integer):

ayo "m = a% 100"

Nalika operasi dileksanakake kanggo variabel sing padha karo asil kasebut, sampeyan bisa nggunakake operator assignment aritmetika standar, uga diarani minangka operator assignment senyawa. Contone, kanggo tambahan, kita duwe:

ayo "m + = 15"

sing padha karo "m = m + 15". Kanggo subtraction kita duwe:

ayo "m - = 3"

sing padha karo "m = m - 3". Kanggo divisi kita duwe:

ayo "m / = 5"

sing padha karo "m = m / 5". Lan modulo, kita duwe:

ayo "m% = 10"

sing padha karo "m = m% 10".

Tambahan, sampeyan bisa nggunakake operator tambahan lan decrement :

ayo "m ++"

punika sami kaliyan "m = m + 1". Lan

ayo "m--"

punika sami kaliyan "m = m - 1".

Lan banjur ana operator "tandha-tandha titik" ternary, sing ngasilake siji saka rong nilai gumantung manawa kondisi kasebut bener utawa salah. Tuladhane

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

Sisih tengen saka pernyataan assignment iki ngevaluasi menyang "0" yen variabel "m" kurang saka 9. Yen ora, iku bakal ngira marang 1. Iki tegese variabel "k" ditugasake "0" yen "m" kurang saka 9 lan "1" manawa.

Wangun umum operator tandha-tandha titik yaiku:

kondisi? nilai-yen-bener: nilai-yen-salah

Floating Point Arithmetic in Bash

Operator let sing mung dianggo kanggo aritmetika integer. Kanggo aritmetika titik ngambang sampeyan bisa migunakake conto kalkulator GNU bc kaya sing digambar ing conto iki:

echo "32.0 + 1.4" | bc

Ing "pipa" operator "|" liwati ekspresi aritmetika "32.0 + 1.4" kanggo kalkulator bc, kang ngasilake nomer nyata. Pangrasa echo prints asil menyang output standar.

Sintaks Alternatif kanggo aritmetika

Backticks (tanda bali tunggal) bisa digunakake kanggo ngevaluasi ekspresi aritmetika kaya ing conto iki:

echo `expr $ m + 18`

Iki bakal nambah 18 kanggo nilai saka variabel "m" banjur print metu asil.

Kanggo nemtokake nilai itungan menyang variabel sampeyan bisa nggunakake tandha sing padha karo tanpa spasi:

m = `expr $ m + 18`

Cara liya kanggo ngira-ngira ekspresi aritmetika yaiku nggunakake parenthesis ganda. Tuladhane:

((m * = 4))

Iki bakal mbatesi nilai "variabel".

Kejabi evaluasi aritmatika, cangkang Bash nyedhiyakake konstruksi program liyane, kayata for-loops , sementara-loop , kondhisi , lan fungsi lan subrutin .