Bash Programlama (Bash Programing) - 2

By samed, 21 August, 2013

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)