Bu Kabuk Betiği Biçimlendiriciyi Neden Kullanmalısınız
- POSIX sh, Bash, mksh ve ilgili kabuklar için anında biçimlendirme
- Girinti, boşluk ve case/esac blokları için shfmt tarzı kurallar
- Girinti boyutu, sekmeler vs boşluklar ve yönlendirme boşluğu gibi seçenekleri destekleyecek şekilde tasarlandı
- Ham kodu yapıştırın veya `.sh`, `.bash`, `.ksh`, `.mksh` veya `.bats` dosyalarını yükleyin
- CI/CD işlem hatları, Docker giriş noktaları ve dotfiles için mükemmel yardımcı
- shfmt tarzı mantık çalıştıran güvenli bir arka uç üzerinden biçimlendirilir – yerel kurulum gerekmez
- Temizlenmiş betiği tek tıkla kopyalayın veya indirin
🛠️ Kabuk Betiklerinizi Çevrimiçi Nasıl Biçimlendirirsiniz for shell-script-formatter
1. Betiğinizi Yapıştırın veya Yükleyin
📥 Kabuk kodunuzu düzenleyiciye yapıştırın veya bir `.sh`, `.bash`, `.ksh`, `.mksh` veya `.bats` dosyasını sürükleyip bırakın. Sözdizimi vurgulama, yapıyı ve komutları kolayca görmenizi sağlar.
2. (İsteğe Bağlı) Gelişmiş Ayarları Düzenleyin
⚙️ Projeniz özel stil kuralları kullanıyorsa, kullanıcı arayüzünde mevcut olduğunda girintileme veya diğer gelişmiş seçenekleri ayarlayın. Aksi takdirde, varsayılan profil zaten yaygın shfmt uygulamalarına uyar.
3. Betiğinizi Biçimlendirin
✨ Betiğinizi güvenli biçimlendirme API'sine göndermek için **Biçimlendir**'e tıklayın. Bu, davranışı korurken girintileme, boşluklandırma ve belirli yapıları yeniden yazar.
4. Sonucu Kopyalayın veya İndirin
📤 Biçimlendirilmiş betiği düzenleyicinize geri kopyalayın veya git, CI veya üretim dağıtımları için hazır bir `.sh` dosyası olarak indirin.
Teknik Özellikler
Desteklenen Biçimler & Uzantılar
Gerçek dünya sistemlerinde karşılaştığınız yaygın Bourne tarzı kabuk diyalektlerini destekler:
| Biçim / Diyalekt | Tipik Uzantı | Açıklama |
|---|---|---|
| POSIX sh | .sh | /bin/sh ile uyumlu taşınabilir kabuk betikleri |
| Bash | .sh, .bash | GNU Bash betikleri ve etkileşimli yardımcılar |
| Korn shell (ksh) | .ksh | Eski ortamlardaki Korn shell betikleri |
| mksh | .mksh | MirBSD Korn kabuk betikleri |
| Bats testleri | .bats | Bats kullanan kabuk tabanlı test paketleri |
Biçimlendirme Davranışı (shfmt Tarzı)
Arka uç biçimlendirici, tutarlı kabuk düzeni için shfmt tarzı kuralları izler.
| Yön | Davranış | Fayda |
|---|---|---|
| Girinti | `if`, `for`, `while`, `case`, fonksiyonlar ve alt kabuklarda girintiyi normalleştirir | Kontrol akışını ve iç içe geçmeyi görsel olarak ayrıştırmayı kolaylaştırır. |
| Boşluk | Atamalarda `=` çevresine ve uygun yerlerde ikili operatörler çevresine boşluk ekler | Görsel karmaşayı ve yanlış ayrıştırma hatalarını azaltır. |
| Yönlendirmeler | shfmt tarzı kurallara göre `>`, `>>`, `<` çevresinde boşluk desteği sağlar | Dosya yönlendirmelerinin okunabilirliğini artırır. |
| Case blokları | `case`, desen dallarını ve `esac`'ı tutarlı şekilde hizalar | Derinlemesine iç içe geçmiş veya sıkıştırılmış case ifadelerini önler. |
| İdempotent çıktı | Biçimlendiriciyi tekrar çalıştırmak aynı sonucu verir | Ön işleme kancalarında ve CI'da güvenli entegrasyona izin verir. |
Giriş Sınırları & Boyut
Önemli betiklerde bile hızlı ve öngörülebilir olacak şekilde tasarlanmıştır.
| Parametre | Sınır / Davranış | Notlar |
|---|---|---|
| Maksimum giriş boyutu (metin) | ≈ 2 MB | Bundan büyük betikler shfmt ile yerel olarak biçimlendirilmelidir. |
| Maksimum dosya boyutu (yükleme) | ≈ 5 MB | Çoğu dağıtım betiği ve yardımcı koleksiyonu için idealdir. |
| Kodlama | UTF-8 önerilir | ISO-8859-1 gibi eski kodlamaları biçimlendirmeden önce dönüştürün. |
Çalıştırma Modeli
Biçimlendirici, shfmt tarzı mantık kullanan güvenli bir arka uç üzerinden çalışır.
| Yön | Davranış | Notlar |
|---|---|---|
| Taşıma | `/api/shell-script-formatter` uç noktasına HTTPS çağrısı | Betiğiniz biçimlendirilirken dinlenmeyi önler. |
| Zaman Aşımı | İstek başına ~25 saniye | Aşırı büyük veya sorunlu girdilerde kontrolsüz işlemleri engeller. |
| Anlambilim | Yalnızca boşluk ve düzen | Betik mantığınız korunur; yalnızca biçimlendirme değiştirilir. |
shfmt ile CLI Eşdeğeri
Terminalinizde veya CI işlem hattınızda aynı davranışı mı istiyorsunuz? Doğrudan `shfmt` kullanın:
Linux / 🍎 macOS / 🪟 Windows (WSL veya Go ile)
Go kullanarak shfmt'yi yükleyin
go install mvdan.cc/sh/v3/cmd/shfmt@latest`shfmt` ikili dosyasını Go bin dizininize kurar (ör. `~/go/bin`).
2 boşluk girintili bir kabuk dosyasını biçimlendir
shfmt -i 2 -w script.sh`script.sh` dosyasını tutarlı biçimlendirilmiş çıktıyla üzerine yazar.
Biçimlendir ve stdout'a yazdır
shfmt -i 4 script.sh4 boşluk girintisi kullanır ve dosyayı değiştirmeden stdout'a yazdırır.
CI'da biçimlendirmeyi kontrol et (değişiklik yapmadan)
shfmt -d scripts/Yeniden biçimlendirilecek dosyalar için bir fark gösterir; değişiklik gerekiyorsa sıfır olmayan çıkış yapar.
Kabuk Biçimlendirme için Pratik Kullanım Senaryoları
DevOps & CI/CD İşlem Hatları
Kritik öneme sahip betikleri okunabilir, incelenebilir ve üretim güvenliği sağlanmış şekilde tutun.
- `main` dalına birleştirmeden önce dağıtım ve geri alma betiklerini temizleyin.
- `.git/hooks`, `scripts/` ve CI yardımcılarındaki kancaları normalleştirin.
- Docker giriş noktalarını ve konteyner önyükleme betiklerini biçimlendirin.
shfmt -i 2 -w ./scripts/deploy.shshfmt -i 2 -w ./scripts/*.shTakım İşbirliği & Açık Kaynak
Stil tartışmalarından kaçının ve incelemelerde mantığa odaklanın.
- Tüm katkıda bulunanların kabuk betiklerinde tek bir stil uygulayın.
- Dotfile'ları ve yardımcıları düzenli tutarak işe alıştırmayı kolaylaştırın.
- Girinti ve boşlukları standartlaştırarak gürültülü diff'leri azaltın.
shfmt -w hooks/*.shshfmt -i 2 -ci -bn -w .Kabuk Betikleme Öğrenme ve Öğretme
Öğrencilere ve genç geliştiricilere en iyi uygulamaları gösterin.
- Örnekleri slaytlara veya belgelere koymadan önce temizleyin.
- Geri bildirimi anlamsal konulara odaklamak için öğrenci gönderimlerini otomatik biçimlendirin.
- Düzenin okunabilirliği ve hata tespitini nasıl etkilediğini gösterin.
❓ Frequently Asked Questions
🔍shfmt nedir?
⚙️Kaç boşluk girinti yapılacağını seçebilir miyim?
🚫Bu web aracı dosyamın üzerine yazar mı?
💬Bash'e özgü sözdizimini anlıyor mu?
🔒Hassas betikleri burada biçimlendirmek güvenli mi?
Pro Tips
Her commit öncesinde shfmt çalıştırın, böylece git geçmişiniz boşluklar yerine gerçek değişikliklere odaklansın.
Betikler düzgün biçimlendirilmediğinde birleştirmeleri engellemek için `shfmt -d`'yi CI ile birleştirin.
Bu biçimlendiriciyi ShellCheck ile eşleştirerek kabuk betiklerinizdeki hem stil hem de mantık sorunlarını yakalayın.
Taşınabilirlik sorunlarından kaçınmak için tüm betiklerde shebang'lerinizi (`#!/usr/bin/env bash`) tutarlı tutun.
Additional Resources
Other Tools
- CSS Güzelleştirici
- HTML Güzelleştirici
- JavaScript Güzelleştirici
- PHP Güzelleştirici
- Renk Seçici
- Sprite Çıkarıcı
- Base64 Çözücü
- Base64 Kodlayıcı
- C# Biçimlendirici
- CSV Biçimlendirici
- Dockerfile Formatter
- Elm Biçimlendirici
- ENV Biçimlendirici
- Go Biçimlendirici
- GraphQL Biçimlendirici
- HCL Biçimlendirici
- INI Biçimlendirici
- JSON Biçimlendirici
- Latex Biçimlendirici
- Markdown Biçimlendirici
- ObjectiveC Biçimlendirici
- Php Formatter
- Proto Biçimlendirici
- Python Biçimlendirici
- Ruby Biçimlendirici
- Rust Biçimlendirici
- Scala Biçimlendirici
- SQL Biçimlendirici
- SVG Biçimlendirici
- Swift Biçimlendirici
- TOML Biçimlendirici
- Typescript Formatter
- XML Biçimlendirici
- YAML Biçimlendirici
- Yarn Biçimlendirici
- CSS Küçültücü
- Html Minifier
- Javascript Minifier
- JSON Küçültücü
- XML Küçültücü
- HTTP Başlıkları Görüntüleyici
- PDF'den Metne
- Regex Test Edici
- SERP Sıra Kontrolü
- Whois Sorgulama