Bash Defensive Patterns

Sessizce başarısız olmak yerine güvenli şekilde duran, üretim seviyesinde betikler yazmak için savunmacı bir Bash programlama el kitabı.

Katı mod, hata yakalama ve temizlik, değişken tırnaklama disiplini, güvenli geçici dosya işleme, sağlam argüman ayrıştırma, yapılandırılmış günlükleme ve idempotent tasarımı kapsar: kırılgan kabuk betiklerini, CI/CD hatları ve sistem araçları için hataya dayanıklı otomasyona dönüştürür.

₺369 tek seferlik
Bir kit içine ekle →

Fiyatlara KDV (%20) dahildir. · Gerçek ajans işinden çıkarıldı · tek seferlik, kilit yok

  • Tür Skill
  • Kategori DevOps & Altyapı
  • Teslimat E-posta · anında
  • Lisans Tek seferlik
Çalışma önizlemesi
forgehouse, bash-defensive-patterns

Çalışmanın içinden · kara kutu yok

Satın almadan önce işin kendisini gör.

Skill'in her production shell script'ine uyguladığı sertleştirme sırası birebir şu. Kara kutu yok, yaptığı iş bu:

  1. Script'in ilk satırına strict mode koyar: set -Eeuo pipefail. Böylece başarısız komut, tanımsız değişken veya pipe zincirindeki ara hata sessizce yayılmak yerine yürütmeyi anında durdurur.
  2. Daha iş başlamadan trap handler'ları kaydeder: mktemp ile açılan geçici dizini silen EXIT trap'i, hatalı satır numarasını stderr'e raporlayan ERR trap'i ve izlenen arka plan PID'lerini durdurup bekleyen SIGTERM/SIGINT trap'leri.
  3. Her değişken genişletmesini tırnak içine alır ve tüm girdileri doğrular: zorunlu değişkenler : "${VAR:?mesaj}" ile yüksek sesle düşer, tamsayılar case kalıbıyla kontrol edilir, dış bağımlılıklar çalışma başlamadan command -v ile teyit edilir.
  4. Dosya işlemlerini atomik ve yarışsız hale getirir: geçici dosyalar mktemp'ten gelir (sabit /tmp ismi asla), yazımlar önce geçici dosyaya yapılıp mv ile hedefe taşınır, cron ve daemon script'leri flock kilidi alır ki iki çalışma üst üste binemesin.
  5. Yapılandırılmış log fonksiyonları ekler (zaman damgalı log_info, log_warn, log_error stderr'e) ve DRY_RUN=true değerini tanıyan run_cmd sarmalayıcısı kurar; her yıkıcı komut çalışmadan önce önizlenebilir.
  6. İdempotensi ile bitirir: ensure_directory ve ensure_config tarzı fonksiyonlar tekrar çalıştırmayı güvenli kılar, hata yolları bilerek test edilir ki trap ve geri alma mantığı varsayım değil kanıt olsun.
Kullanım senaryoları · taktığında neler oluyor

Tek güç kaynağı. 6 hat dışarı.

bash-defensive-patterns · çekirdek

çekirdek aktif · 6 hat

  1. CI/CD hattı ve dağıtım betiklerini sağlamlaştırma

    ✓ ci/cd hattı ve dağıtım b…
  2. Sistem yönetimi ve otomasyon araçları yazma

    ✓ sistem yönetimi ve otoma…
  3. Uzun süren betiklere güvenli temizlik ve sinyal işleme ekleme

    ✓ uzun süren betiklere güv…
  4. Sağlam argüman ayrıştırma ve kuru çalıştırma desteği kurma

    ✓ sağlam argüman ayrıştırma
  5. Kelime bölünmesi, glob genişlemesi ve komut enjeksiyonu hatalarını önleme

    ✓ kelime bölünmesi, glob g…
  6. Betikleri idempotent ve yeniden çalıştırmaya güvenli hale getirme

    ✓ betikleri idempotent ve
Kazanımlar · elinde kalanlar

Aldıkların sende kalır.

Zamanı ileri sar. Ne kaldığını izle.

Sonsuza dek

Sahip olmak tam olarak bu.

Kiralık yığın

yapay zekâ yazım aracı: abonelik

süresi doldu · erişim gitti

analiz paketi: abonelik

süresi doldu · erişim gitti

tasarım platformu: abonelik

süresi doldu · erişim gitti

(geriye bir şey kalmadı)

Senin ocağın

  1. Katı mod (set -Eeuo pipefail) hataları kaynağında yakalar, yayılmalarına izin vermez

    lisans: kalıcı
  2. Trap tabanlı temizlik ve mktemp güvenliği, diski ve belleği tüketen dosya ve süreç sızıntılarını önler

    lisans: kalıcı
  3. Tutarlı değişken tırnaklama, en yaygın sessiz kabuk hatası sınıfını ortadan kaldırır

    lisans: kalıcı
  4. İdempotent ve kuru çalıştırma desenleri, otomasyonu yeniden çalıştırmaya ve önizlemeye güvenli kılar

    lisans: kalıcı

abonelikler biter · tapular bitmez

Ne içerir · eksiksiz manifest

Kutudaki her şey.

Bir parçayı eline al. Çalışırken izle.

-E, -e, -u ve pipefail bayraklarının tek tek açıklandığı katı mod kurulumu

parça 01 / 06 · kutuda

6 parça · tek çalışan sistem · e-postayla anında teslim

Kimler için

Bu herkes için dövülmedi.

  • Araç kiralamayı sahip olmaya tercih ediyorsan, sana göre değil.
  • Yığınını senin yerine başkası yönetsin istiyorsan, sana göre değil.
  • Tahmin etmekten memnunsan, sana göre değil.
Hâlâ burada mısın? Güzel.

Uç durumlar, sinyaller ve üretim yükü altında ayakta kalan kabuk otomasyonuna ihtiyaç duyan DevOps mühendisleri ve betik yazarları için.

o zaman bu senin için dövüldü.

Hangi AI ile çalışır

Tasarımı gereği evrensel: her yapay zekada çalışır. Açık Agent Skills + MCP biçiminde gelir (Claude’da yerleşik); ChatGPT, Gemini, Cursor ve Copilot aynı dosyaları kendine uyarlar.

  • Claude Yerleşik biçim
  • ChatGPT Açık standartla uyarlanır
  • Gemini Açık standartla uyarlanır
  • Cursor Açık standartla uyarlanır
  • Copilot Açık standartla uyarlanır
Sorular · hâlâ havada

Aklındakini yakala.

hava temizlendi. seninle ocak arasında hiçbir şey kalmadı.
bir kıvılcım yakala: ocak cevaplar

  1. Bunu uygulamak için scriptlerimi sıfırdan yazmam gerekir mi?

    Hayır. Kalıplar parça parça eklenir. Mevcut bir scripte strict mode'u, doğru tırnaklamayı ve bir temizleme trap'ini tek tek, baştan yazmadan ekleyebilirsiniz.

  2. Strict mode çalışan scriptleri düzeltmekten çok bozuyor, değer mi?

    Tek başına strict mode yalnızca hataları yüksek sesle gösterir, bu da daha kötü hissettirir. Buradaki hata yakalama ve temizleme kalıplarıyla birleşince o yüksek sesli hatalar yarım kalmış durum bırakmak yerine yakalanıp yönetilir.

  3. Hangi noktadan sonra Bash'i sağlamlaştırmayı bırakıp başka dile geçmeliyim?

    Scriptiniz gerçek veri yapıları, karmaşık ayrıştırma veya ağır mantık içermeye başladığında bu rehber Bash'i doğru araç yapmaz, yalnızca kırılgan bir tercihi güvenli biçimde başarısız ettirir. Sağlam otomasyon tutkalı içindir, bir uygulamayı kabukta yeniden yazmak için değil.

  4. Nasıl teslim edilir?

    Satın alımdan hemen sonra e-posta ile iletilir, kuruluma hazır, anında indirilir; bekleme yok.

  5. Tek seferlik mi, abonelik mi?

    Tek seferlik alımdır; abonelik veya gizli ücret yoktur. Fiyata KDV (%20) dahildir.

  6. İade alabilir miyim?

    Dijital ürün olduğu için indirildikten sonra iade yapılmaz. Bu yüzden ne içerdiğini ve kime uygun olduğunu burada açıkça paylaşıyoruz.