Ana içeriğe geç

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şulAçı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 🚀