Bash'de Aritmetik

Bir Bash Komut Dosyası Hesaplamaları Ekleme

Bash bir betik dili olmasına rağmen, genel amaçlı bir programlama dilinin tüm yeteneklerine sahiptir. Bu aritmetik işlevleri içerir. Bir ifadenin aritmetik değerlendirmesini yapmak için kullanabileceğiniz bir dizi sözdizimi seçeneği vardır. Belki de en okunaklı olan izin komutudur. Örneğin

bırak "m = 4 * 1024"

4 kere 1024 hesaplar ve sonucu "m" değişkenine atar.

Bir yankı ifadesi ekleyerek sonucu yazdırabilirsiniz:

bırak "m = 4 * 1024" echo $ m

Aşağıdaki kodu girerek bunu komut satırından test edebilirsiniz:

bırak "m = 4 * 1024"; echo $ m

Ayrıca, Bash komutlarını içeren bir dosya oluşturabilir, bu durumda, dosyanın çalıştırılması için kodu yürütmesi gereken programı belirten bir satır eklemeniz gerekir. Örneğin:

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

Bash yürütülebilir dosyasının varsayarak / bin / bash . Ayrıca, betik dosyanızın izinlerini, çalıştırılabilir olacak şekilde ayarlamanız gerekir. Komut dosyası dosyasının adının script1.sh olduğunu varsayarak, dosyayı aşağıdaki komutu kullanarak yürütülebilir hale getirmek için izinleri ayarlayabilirsiniz:

chmod 777 script1.sh

Bundan sonra komutu ile çalıştırabilirsiniz:

./script1.sh

Kullanılabilir aritmetik işlemler, Java ve C gibi standart programlama dillerinde kullanılanlara benzer. Çarpmanın yanı sıra, yukarıda gösterildiği gibi, aşağıdakileri kullanırsınız:

bırak "m = a + 7"

veya çıkarma:

bırak "m = a - 7"

veya bölüm:

bırak "m = a / 2"

ya da modülo (bir tamsayı bölmesinden sonra kalan):

bırak "m =% 100"

Bir işlemin sonucu atandığı aynı değişkene uygulandığında, aynı zamanda bileşik atama operatörleri olarak da adlandırılan standart aritmetik kısayol atama operatörleri kullanabilirsiniz. Örneğin, ek olarak, biz var:

bırak "m + = 15"

"m = m + 15" e eşittir. Çıkarma için biz var:

bırak "m - = 3"

"m = m - 3" e eşittir. Bölümümüz için:

bırak "m / = 5"

"m = m / 5" e eşittir. Ve modulo için, biz var:

"m% = 10" olsun

"m = m% 10" ile eşdeğerdir.

Ayrıca, arttırma ve eksiltme işleçlerini kullanabilirsiniz:

bırak "m ++"

"m = m + 1" ile eşdeğerdir. Ve

bırak "m--"

"m = m - 1" ile eşdeğerdir.

Ve sonra, belirtilen koşulun doğru ya da yanlış olmasına bağlı olarak iki değerden birini döndüren üçlü "soru işareti-kolon" operatörü var. Örneğin

bırakın "k = (m <9)? 0: 1"

Bu atama bildiriminin sağ tarafı, "m" değişkeni 9'dan küçükse "0" olarak değerlendirilir. Aksi takdirde, 1 olarak değerlendirilir. Bu, "m" nin daha az olması durumunda "k" değişkeninin "0" olarak atanması anlamına gelir. aksi halde 9'dan ve "1".

Soru işareti-kolon operatörünün genel şekli:

şart ? value-if-true: value-if-false

Bash'da Kayan Nokta Aritmetiği

Let operatör sadece tamsayı aritmetiği için çalışır. Kayan noktalı aritmetik için, örneğin bu örnekte gösterildiği gibi GNU bc hesap makinesini kullanabilirsiniz:

echo "32.0 + 1.4" | M.Ö

"Boru" operatörü "|" "32.0 + 1.4" aritmetik ifadesini, gerçek sayıyı döndüren bc hesap makinesine geçirir. Echo komutu sonucu standart çıktıya basar.

Aritmetik için Alternatif Sözdizimi

Bu örnekte olduğu gibi aritmetik ifadeyi değerlendirmek için backticks (tek tırnak) kullanılabilir:

echo `expr $ m + 18`

Bu, 18 değerini "m" değerine ekler ve ardından sonucu yazdırır.

Hesaplama değerini bir değişkene atamak için, etraftaki boşluklar olmadan eşittir işaretini kullanabilirsiniz:

m = `expr $ m + 18`

Aritmetik ifadeleri değerlendirmenin başka bir yolu, çift parantez kullanmaktır. Örneğin:

((m * = 4))

Bu, "m" değişkeninin değerini dört katına çıkaracaktır.

Aritmetik değerlendirmenin yanı sıra, Bash kabuğu, döngüler için , döngüler , şartlar , işlevler ve alt programlar gibi başka programlama yapıları da sağlar.