Loading…

Hakkında Çevrimiçi Kabuk Betiği Biçimlendirici

Kabuk betiğinizi yapıştırın, "Biçimlendir"e basın ve `shfmt` tarafından desteklenen temiz, tutarlı çıktıyı alın. DevOps boru hatları, dotfile'lar, konteyner giriş noktaları ve üretime hazır dağıtım betikleri için ideal. Kurulum yok, giriş yok – sadece işleme hazır okunabilir kabuk kodu.

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

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

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

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

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 / DiyalektTipik UzantıAçıklama
POSIX sh.sh/bin/sh ile uyumlu taşınabilir kabuk betikleri
Bash.sh, .bashGNU Bash betikleri ve etkileşimli yardımcılar
Korn shell (ksh).kshEski ortamlardaki Korn shell betikleri
mksh.mkshMirBSD Korn kabuk betikleri
Bats testleri.batsBats 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önDavranışFayda
Girinti`if`, `for`, `while`, `case`, fonksiyonlar ve alt kabuklarda girintiyi normalleştirirKontrol akışını ve iç içe geçmeyi görsel olarak ayrıştırmayı kolaylaştırır.
BoşlukAtamalarda `=` çevresine ve uygun yerlerde ikili operatörler çevresine boşluk eklerGörsel karmaşayı ve yanlış ayrıştırma hatalarını azaltır.
Yönlendirmelershfmt tarzı kurallara göre `>`, `>>`, `<` çevresinde boşluk desteği sağlarDosya yönlendirmelerinin okunabilirliğini artırır.
Case blokları`case`, desen dallarını ve `esac`'ı tutarlı şekilde hizalarDerinlemesine 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.

ParametreSınır / DavranışNotlar
Maksimum giriş boyutu (metin)≈ 2 MBBundan 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.
KodlamaUTF-8 önerilirISO-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önDavranış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 saniyeAşırı büyük veya sorunlu girdilerde kontrolsüz işlemleri engeller.
AnlambilimYalnızca boşluk ve düzenBetik 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.sh

4 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.

CI işlem hattınıza bir `shfmt -d` adımı veya bir ön işleme kancası ekleyin, böylece her betik otomatik olarak temiz ve tutarlı kalır.

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.sh
shfmt -i 2 -w ./scripts/*.sh

Takı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/*.sh
shfmt -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?

`shfmt`, mvdan tarafından oluşturulan, kabuk betikleri için açık kaynaklı bir komut satırı biçimlendiricisidir. POSIX sh, Bash ve benzeri diyalektler için kabuk kodunuzu ayrıştırır ve tutarlı girinti, boşluk ve yapıyla yeniden yazar.

⚙️Kaç boşluk girinti yapılacağını seçebilir miyim?

Evet. CLI kullanımında `-i` bayrağı ile girintiyi kontrol edebilirsiniz (örneğin `-i 2` veya `-i 4`). Bu çevrimiçi araç, biçimlendirme arka ucu üzerinden eşdeğer girinti tercihlerini destekleyecek şekilde tasarlanmıştır.

🚫Bu web aracı dosyamın üzerine yazar mı?

Hayır. Biçimlendirici, temizlenmiş betiği tarayıcıda döndürür. Onu düzenleyicinize kopyalayıp kopyalamamaya veya yeni bir dosya olarak indirmeye siz karar verirsiniz. Orijinalleriniz, siz kendiniz üzerine yazmadığınız sürece dokunulmadan kalır.

💬Bash'e özgü sözdizimini anlıyor mu?

Evet. Altta yatan shfmt tarzı motor, POSIX sh'nin yanı sıra yaygın Bash yapılarını ve mksh, ksh gibi ek kabukları destekler.

🔒Hassas betikleri burada biçimlendirmek güvenli mi?

Genel amaçlı betikler için bu araç kullanışlı ve güvenlidir. Yüksek hassasiyette veri içeren betikler (gömülü sırlar, dahili altyapı detayları vb.) için, shfmt'yi yerel olarak veya kendi CI ortamınızda çalıştırmak genellikle daha güvenlidir.

Pro Tips

Best Practice

Her commit öncesinde shfmt çalıştırın, böylece git geçmişiniz boşluklar yerine gerçek değişikliklere odaklansın.

Best Practice

Betikler düzgün biçimlendirilmediğinde birleştirmeleri engellemek için `shfmt -d`'yi CI ile birleştirin.

Best Practice

Bu biçimlendiriciyi ShellCheck ile eşleştirerek kabuk betiklerinizdeki hem stil hem de mantık sorunlarını yakalayın.

Best Practice

Taşınabilirlik sorunlarından kaçınmak için tüm betiklerde shebang'lerinizi (`#!/usr/bin/env bash`) tutarlı tutun.

Additional Resources

Other Tools