Bash Programlama (Bash Programing) - 2
Bash'de Aritmetik İşlemler
Bash'de aritmetik işlemler için kullanılabilecek bir kaç komut vardır. Farklı kullanım şekilleriyle ve yetenekleri vardır. Basitçe kullanımları aşağıda belirtilmiş olup daha ayrıntılı incelemer için man sayfaları incelenebilir.
- let
Bash'in kendi iç komutudur.- Kullanım şekli
-
let <aritmetik_ifade>
$((<aritmetik_ifade>))
Aritmatik İfade
İfadelerin işlevleri C'nin aynısıdır.- foo++ foo--
- Değişkenin değerini sonra artırır/azaltır.
- ++foo --foo
- Değişkenin değerini önce artırır/azaltır.
- ! ~
- Mantıksal ve bit düzeyi tersinirleri
- **
- Kuvvet
- * / %
- Çarpma, bölme ve kalan (mod)
- + -
- Toplama, çıkarma
- << >>
- Sola ve sağa bit kaydırma operatörü
- <= >= < >
- Karşılaştırma operatörü
- == !=
- Eşittir ve eşit değildir
- &
- Bit düzeyi VE (AND) operatörü
- ^
- Bit düzeti XOR operatörü
- |
- Bit düzeyi VEYA (OR) operatörü
- && ||
- Mantıksal VE ve VEYA
- expr?expr:expr
- Koşul operatörü
- = *= /= %= += -= <<= >>= &= ^= |=
- Soldaki değişkenin değeri ile sağdaki sayı arasında belitrilen işlemi yapar, değişkene atar.
Örnek;
- let x++
- let "x = y + 8"
- expr
- Kullanım şekli
- expr <ifade>
İfadeler
- ARG1 | ARG2
- ARG1 0 (sıfır) veya null ise ARG2, değil ise ARG1 döndürür
- ARG1 & ARG2
- Argümanlar null veya 0 (sıfır) ise 0, değil ise ARG1
- ARG1 < ARG2
- ARG1, ARG2'den küçük ise 1, değil ise 0 döndürür
- ARG1 > ARG2
- ARG1, ARG2'den büyük ise 1, değil ise 0 döndürür
- ARG1 = ARG2
- ARG1 ile ARG2 eşit ise
- ARG1 != ARG2
- ARG1, ARG2'ye eşit değil ise
- ARG1 <= ARG2
- ARG1, ARG2'den küçük veya eşit ise
- ARG1 >= ARG2
- ARG1, ARG2'den büyük veya eşit ise
- ARG1 + ARG2
- ARG1 ile ARG2'yi toplar
- ARG1 - ARG2
- ARG1'den ARG2'yi çıkartır
- ARG1 * ARG2
- ARG1 ile ARG2'yi çarpar
- ARG1 / ARG2
- ARG1'i ARG2'ye böler
- ARG1 % ARG2
- ARG1'in ARG2'ye bölümünden kalan
- STRING : REGEX
- String içerisinde belirtilen REGEX ile eşleşmeyi sorgular
- match STRING REGEX
- STRING : REGEX ile aynıdır
- substr STRING POS LENGTH
- Stringi belirtilen pozisyondan itibaren belirtilen uzunlukta parçalar, POS 1'den başlar.
- index STRING CHARS
- Belirtilen karakterlerin string içerisineki indeksini verir
- length STRING
- String uzunluğunu verir
- bc
Bash Calculor üzerinden buraya sığdıramayacağım kadar çok işlem yapma şansına sahipsiniz. Temel olarak yukarıda anlatılan işlemlerin tamamını bc ile de yapmanız mümkün. İşlemlerinizi bc'nin terminalinden yapabileceğiniz gibi echo vb. ile de işlem gönderebilir ve çıktı alabilirsiniz.
Örnek
- echo "5+8"|bc
- SONUC=$(echo "655/21"|bc)