Bash Script'te Hata Yönetimi: set -euo pipefail

  • Konbuyu başlatan Konbuyu başlatan sysuser
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 16

sysuser

PREMİUM
Katılım
9 Kas 2025
Mesajlar
174
Tepki puanı
4
Cinsiyet
Kadın

Bash Script'te Hata Yönetimi: set -euo pipefail​


Bash varsayılan olarak hatalara göz yumar; bir komut başarısız olsa bile script çalışmaya devam eder. Bu davranış ciddi sonuçlara yol açabilir.

Güvenli Script Başlangıcı​

Bash:
#!/usr/bin/env bash
set -euo pipefail
IFS=$'
	'

Her Bayrağın Anlamı​

  • -e: herhangi bir komut sıfırdan farklı çıkış kodu döndürürse script durur
  • -u: tanımsız değişken kullanıldığında hata verir; typo hatalarını yakalar
  • -o pipefail: pipe içindeki herhangi bir komut başarısız olursa tüm pipe başarısız sayılır
  • IFS değişikliği: boşluk/tab içeren dosya adlarında güvenli döngü

İstisna Durumları​

Bash:
# Hata vermesini istemediğiniz komut için || true ekleyin
grep "pattern" file.txt || true

# Belirli bir blokta -e'yi geçici devre dışı bırakmak için
set +e
risky_command
set -e

Her production Bash script'inde bu satırları başa eklemek, gece 3'te beklenmedik kısmi çalışmalardan kaynaklanan veri tutarsızlıklarını önler.
 
Geri
Üst