4 – Bash Script’te Değişkenler ve Kullanımı

Değişken Tanımlama
Bash script’te değişkenler, bir değeri geçici olarak saklamak ve bu değeri script içinde kullanmak için kullanılır. Değişkenler, komut satırındaki işlemler sırasında belirli değerleri tutarak kodun daha esnek ve dinamik olmasını sağlar. Bash script’te değişkenler tanımlanırken, genellikle bir atama operatörü (=
) kullanılır ve atama sırasında boşluk bırakılmaması önemlidir.
Değişken tanımlamanın temel kuralları şunlardır:
- Değişken ismi ve değeri arasında boşluk olmamalıdır.
- Değişken ismi rakamla başlamamalıdır.
- Büyük ve küçük harfler farklı değişkenler olarak değerlendirilir.
Örnek değişken tanımları:
#!/bin/bash
my_var="Merhaba Dünya"
number=42
Yukarıdaki örnekte, my_var
ve number
olmak üzere iki değişken tanımlanmıştır. my_var
metin (string
) türünde bir veri saklarken, number
değişkeni bir sayısal değer tutmaktadır.
Bir değişkenin değerine erişmek için $
sembolü kullanılır. Örneğin:
echo $my_var
echo $number
Yukarıdaki echo
komutları, değişkenlerin içerdiği değerleri ekrana yazdıracaktır.
Sistem ve Kullanıcı Değişkenleri
Bash script’te iki tür değişken vardır: sistem değişkenleri ve kullanıcı değişkenleri.
- Sistem Değişkenleri: Bu değişkenler, bash kabuğu tarafından önceden tanımlanmıştır ve genellikle büyük harflerle ifade edilir. Örneğin, bazı sistem değişkenleri şunlardır:
$HOME
: Kullanıcının ev dizinini belirtir.$USER
: Aktif kullanıcının adını belirtir.$PWD
: Geçerli çalışma dizinini belirtir.
Örnek kullanımı:
bashKodu kopyalaecho "Kullanıcının adı: $USER"
echo "Ev dizini: $HOME"
echo "Geçerli çalışma dizini: $PWD"
- Kullanıcı Değişkenleri: Kullanıcılar tarafından script içinde tanımlanan değişkenlerdir ve genellikle herhangi bir ad ile ifade edilir. Kullanıcı değişkenlerini kullanarak bir script yazılabilir ve bu scriptte değerler dinamik olarak değiştirilebilir.
#!/bin/bash
isim="Ali"
echo "Merhaba, $isim!"
Yukarıdaki örnekte isim
isimli kullanıcı değişkeni tanımlanmıştır ve değeri Ali
olarak belirlenmiştir. echo
komutu kullanılarak bu değişkenin değeri terminalde gösterilir.
Komut Çıktısını Bir Değişkene Atama
Bash script’te komut çıktıları da değişkenlere atanabilir. Bunun için iki farklı yöntem kullanılır: backticks (`
) veya $()
yapıları. Bu sayede herhangi bir komutun sonucunu bir değişkende tutabilir ve başka bir işlemde kullanabilirsiniz.
Örnek olarak, geçerli tarih ve saati bir değişkene atayabiliriz:
#!/bin/bash
tarih=`date`
echo "Bugünün tarihi ve saati: $tarih"
Alternatif olarak $()
kullanımı da yaygındır:
#!/bin/bash
tarih=$(date)
echo "Bugünün tarihi ve saati: $tarih"
Her iki yöntem de date
komutunun sonucunu tarih
değişkenine atayacaktır ve echo
komutu bu değeri terminalde gösterecektir.
Değişkenlerde Değerler Üzerinde İşlemler
Bash script’te değişkenler üzerinde çeşitli işlemler yapılabilir:
- Metin Birleştirme: Değişkenlerin içerdiği metinleri birleştirmek mümkündür. Örneğin:bashKodu kopyala
isim="Ali" selamlama="Merhaba, " sonuc="${selamlama}${isim}" echo $sonuc
Yukarıdaki script,Merhaba, Ali
sonucunu verecektir.{$}
kullanımı, değişkenleri metinle güvenli bir şekilde birleştirmek için sıklıkla kullanılır. - Sayısal İşlemler: Değişkenler sayısal değerler taşıyorsa, basit matematiksel işlemler de gerçekleştirilebilir. Ancak, bash değişkenleri varsayılan olarak metin (string) türündedir. Matematiksel işlem yapmak için
$(( ))
veyalet
kullanabilirsiniz.bashKodu kopyalasayi1=5 sayi2=10 toplam=$((sayi1 + sayi2)) echo "Toplam: $toplam"
Bu scriptte,sayi1
vesayi2
değişkenlerinin toplamıtoplam
değişkenine atanmıştır ve sonuç ekranda gösterilir.
Kullanıcı Değişkenlerinin Önemi
Değişkenlerin kullanımı, bir script’in dinamik ve tekrarlanabilir olmasını sağlar. Örneğin, bir script’in başlangıcında bir dizin adı veya dosya adı tanımlayarak bu değeri script boyunca kullanabilirsiniz. Eğer dizin veya dosya adı değiştirilmek istenirse, sadece değişkenin değeri değiştirilerek script güncellenebilir ve script’in geri kalanı üzerinde bir değişiklik yapmaya gerek kalmaz.
Örneğin:
#!/bin/bash
yedekleme_dizini="/home/kullanici/yedekler"
echo "Yedekleme dizini: $yedekleme_dizini"
Eğer yedekleme_dizini
değişirse, sadece bu satırdaki değeri değiştirmeniz yeterli olacaktır.
Bash script’te değişkenler, verilerin saklanması ve scriptlerin dinamik hale getirilmesi için önemli araçlardır. Değişken tanımlayarak ve bu değişkenleri kullanarak karmaşık işlemleri basit bir şekilde gerçekleştirebilirsiniz. Sistem ve kullanıcı değişkenleri, bash script’in çok yönlü ve esnek olmasını sağlar. Değişkenlerin dinamik yapısı, scriptlerin daha anlaşılır, düzenlenebilir ve tekrar kullanılabilir olmasına katkıda bulunur. Komut çıktılarının değişkenlere atanması, sistemden gelen bilgileri kullanarak karmaşık işlemler yürütülmesini sağlar ve bu, özellikle otomasyon ve sistem yönetimi süreçlerinde büyük kolaylık sunar.
Bash script’te değişkenlerle çalışmayı öğrenmek, hem başlangıç seviyesindeki kullanıcılar hem de ileri düzeydeki sistem yöneticileri için çok faydalıdır. Bu yetenekler, günlük görevleri kolaylaştırmak ve sistem yönetimi işlerini daha verimli hale getirmek için önemli araçlar sunar.