Bash ilə aritmetik

Bir Bash skriptinə hesablar əlavə etmək üçün necə

Baş bir scripting dili olsa da, ümumi məqsədi proqramlaşdırma dilinin bütün imkanlarına malikdir. Aritmetik funksiyaları daxildir. Bir ifadəin aritmetik qiymətləndirilməsini uydurmaq üçün istifadə edə biləcəyiniz bir sıra sintaksis variantları var. Bəlkə də ən oxunan bir əmr edilsin. Misal üçün

"m = 4 * 1024"

4 dəfə 1024 hesablayacaq və nəticəni "m" dəyişəninə verir.

Yankı bəyanatını əlavə edərək nəticəni yaza bilərsiniz:

"m = 4 * 1024" echo $ m edək

Bunu aşağıdakı kodu daxil edərək əmr satırından test edə bilərsiniz:

"m = 4 * 1024" bildirin; yankı $ m

Ayrıca, Bash komutlarını ehtiva edən bir fayl yarada, bu halda kodun icrası üçün nəzərdə tutulan proqramı müəyyən edən faylın üst tərəfində bir xətt əlavə etməlisiniz. Misal üçün:

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

Biş yürütücüsü / bin / bash-da yerləşdirilir . Ayrıca çalıştırılabilir olduğunuz üçün script faylınızın icazələrini təyin etməlisiniz. Komut faylının adını script1.sh hesab edirsən , əmr ilə faylın icra edilə bilməsi üçün icazələri təyin edə bilərsiniz:

chmod 777 script1.sh

Bundan sonra onu əmrlə yerinə yetirə bilərsiniz:

./script1.sh

Mövcud aritmetik əməliyyatlar Java və C kimi standart proqramlaşdırma dillərində olanlara bənzərdir. Yuxarıda təsvir olunduğu kimi vurma ilə yanaşı, siz əlavə istifadə edirsiniz:

"m = a + 7"

və ya çıxarma:

"m = a - 7"

və ya bölmə:

"m = a / 2"

və ya modulo (bir tamsayı bölməsindən sonra qalan):

"m = a% 100"

Nəticənin verildiyi eyni dəyişənə bir əməliyyat tətbiq edildikdə, həmçinin birləşmə təyinat operatorları olaraq adlandırılan standart aritmetik stenoqrafiya təyinat operatorlarını istifadə edə bilərsiniz. Məsələn, əlavə etmək üçün biz:

"m + = 15"

"m = m + 15" e bərabərdir. Çıkartma üçün:

"m - = 3"

"m = m - 3" e bərabərdir. Bölmə üçün:

"m / = 5"

m = m / 5 "e bərabərdir. Və modulo üçün:

"m% = 10"

m = m% 10-a bərabərdir.

Bundan əlavə, artımazalma operatorlarından istifadə edə bilərsiniz:

"m + +"

"m = m + 1" e bərabərdir. Və

qoy "m--"

"m = m - 1" e bərabərdir.

Və sonra üçlü "sual marka-kolon" operatoru var, bu, müəyyən şərtlərin doğru və ya yanlış olub-olmamasına əsasən iki dəyərdən birini qaytarır. Misal üçün

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

Bu tapşırıq bəyannaməsinin sağ tərəfi "m" nin 9-dan az olması halında "0" qiymətləndirir. Əks halda, bu qiymətləndirir. 1. "M" az olduqda "0" dəyişən "k" təyin olunur əksinə 9 və "1" daha çoxdur.

İşaret-kolon operatorunun ümumi forması aşağıdakılardır:

vəziyyət? dəyər-if-doğru: value-if-false

Başda Üzən Noktadan Aritmetik

Xətti operator tam ədədi üçün işləyir. Üzən nöqtə arithmetic üçün məsələn, bu nümunədə göstərildiyi kimi GNU bc kalkulyatorunu istifadə edə bilərsiniz:

echo "32.0 + 1.4" | bc

"Boru" operatoru "|" hesab nömrəsini "32.0 + 1.4" hesabına keçirir. Eko əmri nəticəni standart çıxışa yazır.

Aritmetik üçün alternativ sintaksis

Geri nümunələri (tək tək quotes) bu nümunədə olduğu kimi bir aritmetik ifadəni qiymətləndirmək üçün istifadə edilə bilər:

echo `$ m + 18 'düyməsinə basın

Bu, "m" dəyişəninin dəyərinə 18 əlavə edər və nəticə çıxarır.

Bir dəyişənə kompüter dəyərini təyin etmək üçün ətrafdakı boşluq olmadan bərabər işarəni istifadə edə bilərsiniz:

m = '$ m + 18'dir

Aritmetik ifadələri qiymətləndirmək üçün başqa bir üsul cüt parantezdən istifadə etməkdir. Misal üçün:

((m * = 4))

Bu, "m" dəyişəninin dəyərini dörd dəfə artırır.

Aritmetik qiymətləndirmələrlə yanaşı, Bash kabuğu digər forma loopları , digərləri isə loops , conditionalsfunksiyaları və subroutines kimi digər proqramlaşdırma konstruksiyaları təmin edir.