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
- Kullanım şekli
- 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)