Bash script, Unix ve Linux sistemlerinde sistem yönetimi, otomasyon ve karmaşık görevlerin basitleştirilmesi için kullanılan güçlü bir araçtır. Bu kapsamlı rehberde, Bash script’in temellerinden ileri düzey kullanımına kadar her şeyi ele alacağız.
Bash (Bourne Again Shell), Unix ve Linux sistemlerinde yaygın olarak kullanılan bir komut satırı arayüzü ve script dilidir. Bash script ise, bir dizi Bash komutunu içeren ve otomatik olarak çalıştırılabilen metin dosyalarıdır. Bu scriptler, sistem yönetimi, veri işleme, otomatik yedekleme ve daha birçok görevi otomatikleştirmek için kullanılır.
Bash, 1989 yılında Brian Fox tarafından GNU Projesi için geliştirilmiştir. Bourne Shell’in (sh) bir üst versiyonu olarak tasarlanmış ve zamanla Linux sistemlerinin varsayılan shell’i haline gelmiştir. Bash, önceki shell’lerin özelliklerini geliştirmiş ve yeni özellikler eklemiştir.
Bash script yazmak için herhangi bir metin editörü kullanabilirsiniz. İşte basit bir Bash script örneği:
#!/bin/bash
echo "Merhaba, Dünya!"
Bu scripti çalıştırmak için, dosyayı .sh uzantısıyla kaydedin (örneğin, merhaba.sh) ve terminal üzerinden aşağıdaki komutları kullanın:
chmod +x merhaba.sh
./merhaba.sh
Scriptin ilk satırında yer alan #!/bin/bash
ifadesi “shebang” olarak adlandırılır. Bu, işletim sistemine scriptin hangi yorumlayıcı ile çalıştırılacağını söyler.
Bash’te değişkenler şu şekilde tanımlanır:
isim="John"
yas=30
echo "Merhaba, $isim! Sen $yas yaşındasın."
Script çalıştırılırken verilen argümanlara erişmek için özel değişkenler kullanılır:
echo "Script adı: $0"
echo "İlk argüman: $1"
echo "İkinci argüman: $2"
echo "Tüm argümanlar: $@"
echo "Argüman sayısı: $#"
if-else yapısı kullanarak koşullu ifadeler oluşturabilirsiniz:
if [ $yas -ge 18 ]
then
echo "Reşitsiniz."
else
echo "Reşit değilsiniz."
fi
Bash’te for ve while döngüleri kullanılabilir:
# For döngüsü
for i in {1..5}
do
echo "Sayı: $i"
done
# While döngüsü
count=0
while [ $count -lt 5 ]
do
echo "Sayaç: $count"
count=$((count + 1))
done
Fonksiyonlar, kodu organize etmek ve tekrar kullanılabilirliği artırmak için kullanılır:
selamla() {
echo "Merhaba, $1!"
}
selamla "John"
selamla "Alice"
Bash, dosya okuma ve yazma işlemleri için çeşitli yöntemler sunar:
# Dosya okuma
while IFS= read -r line
do
echo "$line"
done < "dosya.txt" # Dosya yazma echo "Yeni içerik" > "yeni_dosya.txt"
echo "Ek içerik" >> "mevcut_dosya.txt"
Bash, metin işleme için güçlü düzenli ifade desteği sunar:
if [[ "test@example.com" =~ ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}$ ]]
then
echo "Geçerli e-posta adresi"
else
echo "Geçersiz e-posta adresi"
fi
Bash scriptlerde hata yönetimi için çeşitli yöntemler kullanılabilir:
set -e # Herhangi bir komut hata verirse scripti durdur
# Özel hata mesajları
if ! komut_calistir
then
echo "Hata: Komut çalıştırılamadı" >&2
exit 1
fi
Bash script, Unix ve Linux sistemlerinde güçlü bir otomasyon ve sistem yönetimi aracıdır. Temel komutlardan ileri düzey özelliklere kadar geniş bir yelpazede imkanlar sunar. Düzenli pratik yaparak ve sistem yönetimi görevlerini otomatikleştirerek, Bash script becerilerinizi geliştirebilir ve iş akışınızı önemli ölçüde iyileştirebilirsiniz.
Bir yanıt yazın