Bash script yazarken, matematiksel işlemler yapmak sıklıkla karşımıza çıkar. Bash, temel matematiksel işlemler için bazı dahili araçlar ve komutlar sunar. Bu sayede basit hesaplamalar, aritmetik işlemler ve hatta otomasyon için kullanılabilir. Bu makalede, Bash’te matematiksel işlemler nasıl yapılır, hangi komutlar ve teknikler kullanılır, bu konulara değineceğiz.

1. Sayısal Değişkenlerle Çalışma

Bash değişkenleri genellikle metin tabanlıdır, ancak sayısal işlemler için bu değişkenleri aritmetiksel olarak kullanabiliriz. Değişkenlerin sayısal olarak değerlendirilmesi için bazı özel yöntemler kullanılır.

Bir değişkene sayısal bir değer atayabilirsiniz:

number=5

Ancak Bash’te doğrudan matematiksel işlem yapmak biraz daha farklıdır. Bir sonraki bölümde bu işlemler için kullanabileceğimiz yöntemleri inceleyeceğiz.

2. Matematiksel İfadeler

Bash, matematiksel ifadeleri çözmek için birkaç yöntem sunar: expr, let, ve $(( )). Her biri farklı durumlar için uygun olabilir ve kullanımları oldukça basittir.

2.1. expr Komutu

expr, basit aritmetik işlemler yapmak için kullanılan bir komuttur. Matematiksel ifadeleri çözmek için şu şekilde kullanılır:

result=$(expr 5 + 3)
echo $result  # Çıktı: 8

Bu komutun önemli bir özelliği, operatörler arasında boşluk kullanılması gerektiğidir. Örneğin, 5+3 yerine 5 + 3 şeklinde yazılmalıdır.

result=$(expr 10 \* 3)
echo $result  # Çıktı: 30

Burada çarpma (*) işlemi \ ile kaçırılmıştır, çünkü * karakteri Bash tarafından joker karakter olarak değerlendirilir.

2.2. let Komutu

let komutu, aritmetik ifadeleri doğrudan değerlendirmenizi sağlar ve değişkenlerin değerlerini güncelleyebilir:

let sum=5+3
echo $sum  # Çıktı: 8

let kullanırken boşluk bırakmak isteğe bağlıdır ve operatörleri normal şekilde kullanabilirsiniz.

Birden fazla işlem yapabilir ve değişkenleri güncelleyebilirsiniz:

let number+=4
echo $number  # number 5'ten başlayarak 9 olur.

2.3. $(()) Kullanımı

$(( )) ifadesi, matematiksel ifadeleri çözmek için yaygın bir yöntemdir. Bu yöntem, daha okunabilir ve genellikle önerilen bir yaklaşımdır:

result=$((5 + 3))
echo $result  # Çıktı: 8

Bu yöntem, değişkenleri aritmetik işlemlerde kullanırken de oldukça kullanışlıdır:

a=10
b=5
sum=$((a + b))
echo $sum  # Çıktı: 15

Bu yöntemi kullanarak dört işlem, mod alma ve hatta parantezli ifadelerle karmaşık hesaplamalar yapabilirsiniz.

result=$(( (a + b) * 2 ))
echo $result  # Çıktı: 30 (10 + 5, sonra 2 ile çarpılır)

3. Matematiksel Operatörler

Bash’te kullanabileceğiniz bazı temel matematiksel operatörler şunlardır:

  • +: Toplama
  • -: Çıkarma
  • *: Çarpma (Joker karakter olarak değerlendirilmemesi için kaçırılmalıdır: \*)
  • /: Bölme
  • %: Mod alma (kalanı bulma)
  • **: Üs alma (Bu yalnızca (( )) içinde kullanılır)
a=15
b=4

# Toplama
sum=$((a + b))
echo "Toplama: $sum"  # Çıktı: 19

# Çıkarma
difference=$((a - b))
echo "Çıkarma: $difference"  # Çıktı: 11

# Çarpma
product=$((a * b))
echo "Çarpma: $product"  # Çıktı: 60

# Bölme
division=$((a / b))
echo "Bölme: $division"  # Çıktı: 3 (Tamsayı bölme)

# Mod
mod=$((a % b))
echo "Mod: $mod"  # Çıktı: 3

Bash, bölme işlemlerinde yalnızca tam sayı sonuçlarını döndürür. Yani 15/4 ifadesi 3.75 yerine 3 olarak döner. Ondalık sayılarla çalışmak için bc gibi harici araçlara başvurabilirsiniz.

4. Ondalık Sayılarla Çalışmak

Bash, yerel olarak ondalık sayılarla çalışmayı desteklemez. Bunun yerine bc (Basic Calculator) gibi araçlar kullanmanız gerekir. bc, Bash’te matematiksel hesaplamalar yapmak için oldukça kullanışlıdır.

result=$(echo "scale=2; 15 / 4" | bc)
echo "Sonuç: $result"  # Çıktı: 3.75

Burada scale=2, virgülden sonra iki basamak gösterecek şekilde sonucu ayarlamaktadır.

5. Basit Hesap Makinesi Script’i

Şimdi öğrendiklerimizi kullanarak basit bir hesap makinesi script’i yazalım:

!/bin/bash

echo “Birinci sayıyı girin:”
read num1
echo “İkinci sayıyı girin:”
read num2

echo “Yapmak istediğiniz işlemi seçin (+, -, *, /):”
read op

case $op in
+)
result=$((num1 + num2))
;;
-)
result=$((num1 – num2))
;;
*)
result=$((num1 * num2))
;;
/)
if [ $num2 -ne 0 ]; then
result=$((num1 / num2))
else
echo “Bölme işleminde bölen sıfır olamaz.”
exit 1
fi
;;
*)
echo “Geçersiz işlem.”
exit 1
;;
esac

echo “Sonuç: $result”

Bu script, kullanıcıdan iki sayı alır ve bir işlem türü seçmesini ister. Ardından seçilen işleme göre sonucu hesaplar ve ekrana yazdırır.

6. Matematiksel İşlemler İçin En İyi Uygulamalar

  • Boşluklara Dikkat Edin: expr komutunu kullanırken operatörler arasında boşluk bırakmanız gerektiğini unutmayın.
  • Parantez Kullanımı: Karmaşık matematiksel ifadelerde (( )) veya let komutunu kullanarak okunabilirliği artırabilirsiniz.
  • Ondalık Sayılar İçin bc Kullanımı: Bash yerel olarak ondalık işlemleri desteklemediğinden, bu tür işlemler için bc veya başka bir hesaplama aracına başvurmanız gerekir.

Bash scriptlerinde matematiksel işlemler yapmak oldukça yaygındır ve bu işlemleri yapmak için expr, let ve $(( )) gibi çeşitli yöntemler mevcuttur. Bu yöntemlerin her biri, basit ve etkili matematiksel hesaplamalar yapmanıza olanak tanır. Basit hesap makinesi örneği gibi uygulamalarla bu yöntemleri kullanarak pratik yapabilir ve Bash scriptlerinizi daha işlevsel hale getirebilirsiniz.

Tepkiniz ne oldu ?

Heyecanlı
0
Mutlu
0
Aşık
0
Emin değilim
0
Şapşal
0

İlginizi Çekebilir

Bir cevap bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Daha fazlası:Geliştirme