Shell Script if else Kullanımı: Örneklerle Detaylı Rehber
Shell script yazarken her komutun her zaman çalışması gerekmez.
if-else yapısı, betiklerinize karar verme yeteneği kazandırır.
Bu rehberde Bash if, else ve elif yapılarını gerçek senaryolarla öğreneceksiniz.
Bu Rehberde Ne Öğreneceksiniz?
- if-else temel sözdizimi
- Sayısal ve metinsel karşılaştırmalar
- Dosya ve izin kontrolleri
- elif ve nested if kullanımı
- Otomasyon senaryoları
Teknik Özet
Bu rehber, Linux ve Ubuntu sistemlerde Shell Script if else kullanımını anlatır.
Amaç, otomasyon betiklerini koşullara bağlı çalıştırmaktır.
if-else Yapısının Temel Mantığı
Bash’te temel yapı aşağıdaki gibidir:
if [ koşul ]; then
komutlar_1
else
komutlar_2
fi
- Bu yapı, koşul doğruysa veya yanlışsa farklı kod çalıştırır.
⚠️ Not:
-
içinde boşluk zorunludur. Bash büyük–küçük harfe duyarlıdır.
-
En Sık Kullanılan Koşul Operatörleri
| Koşul | Açıklama |
|---|---|
[ $a -eq $b ] | Sayılar eşit mi |
[ $a -gt $b ] | a, b’den büyük mü |
[ $a -lt $b ] | a, b’den küçük mü |
[ -f dosya ] | Dosya var mı |
[ -r dosya ] | Dosya okunabilir mi |
[ -z "$var" ] | Değişken boş mu |
1. İki Sayıyı Karşılaştırma
#!/bin/bash
m=10
n=20
if [ $n -eq $m ]; then
echo "Sayılar eşit"
else
echo "Sayılar farklı"
fi
- Bu betik sayısal eşitliği kontrol eder.
2. Dosya ve Okuma İzni Kontrolü (Nested if)
#!/bin/bash
dosya="/home/rabisu/ayarlar.conf"
if [ -f "$dosya" ]; then
if [ -r "$dosya" ]; then
echo "Dosya mevcut ve okunabilir"
else
echo "Dosya var ama okuma izni yok"
fi
else
echo "Dosya bulunamadı"
fi
- Bu yapı güvenlik ve yapılandırma kontrollerinde sık kullanılır.
3. Çoklu Koşullar için elif Kullanımı
#!/bin/bash
puan=85
if [ $puan -ge 90 ]; then
echo "Derece: A"
elif [ $puan -ge 80 ]; then
echo "Derece: B"
else
echo "Derece: C veya altı"
fi
- elif, çoklu karar senaryolarında kodu sadeleştirir.
Sıkça Sorulan Sorular (SSS)
1. == ile -eq farkı nedir? == metin, -eq sayısal karşılaştırma yapar.
2. Köşeli parantez neden önemli? [ bir komuttur. Boşluk olmazsa hata verir.
3. Birden fazla koşul nasıl yazılır? && (ve), || (veya) operatörleri kullanılır.
4. if yerine ne kullanabilirim? Çok seçenekli durumlarda case yapısı önerilir.
Sonuç
if-else, Shell Script’in temel yapı taşıdır. Doğru kullanıldığında otomasyonlar daha güvenli ve akıllı çalışır.
Bu betikleri Rabisu Bulut sunucularınızda kullanarak süreçlerinizi hızlandırabilirsiniz 🚀