En Büyük Shell Programları
(github.com/oils-for-unix)-
Dünyadaki en büyük shell programları
-
akinomyoga/ble.sh: Toplam 61K LoC (46K SLoC). Bash Line Editor olup tamamen saf bash ile yazılmış, fish benzeri etkileşimli bir satır düzenleyicisidir. Ana dosya
out/ble.sh30K LoC (23K SLoC) içerir ve genel olarak 60K+ LoC vardır. Japonca yazılmış çok sayıda yorum içerir. ble.sh'nin nasıl çalıştığına dair bir genel bakış vardır ve son derece sofistike veri yapılarının kullanımını gösterir. -
kalua: Yaklaşık 56K SLoC/satırlık POSIX shell'den oluşan bir OpenWRT eklentisi.
-
bashdb: Yaklaşık 14K satır bash'ten oluşan bir bash hata ayıklayıcısı. Hata ayıklayıcı uygulamasının ilginç bir geçmişi vardır.
-
drwetter/testssl.sh: Tek bir dosyada 21K satır bash'ten oluşur. Elle yazılmış gibi görünmektedir.
-
Simplenetes: 17K satır Shell ile yazılmış Kubernetes. Şaşırtıcıdır ama şu anda etkin değildir.
-
rkhunter: Resmî sitede, 2003-2018 arasında yazılmış 21K satırlık bir Bourne shell programı olarak yer alır.
-
romkatv/powerlevel10k:
internal/dizininde 12K satırlık zsh betikleri vardır. Buna ek olarak 8K satırlık yapılandırma ve yardımcı betikler bulunur. -
dylanaraps/neofetch: 10K satırlık bash 3.2 ile sistem bilgilerini gösterir.
-
xwmx/nb: nb'nin kendisinde 26K LoC (22K SLoC) bash vardır. Ayrıca bats testleri de bash olarak sayılırsa 91K LoC (61K SLoC) vardır.
-
distrobox: 7K'den fazla bash betiğinden oluşur. Terminal içinde herhangi bir Linux dağıtımını kullanmayı sağlar.
-
acme.sh: 7K satırlık bir shell betiğiyle sertifika verir ve yeniler.
-
inxi 2.3.56 [obsolete]: 16K satırlık bash'ten oluşur. 2008'de infobash'in bir fork'u olarak başladı.
-
bashforth: Yaklaşık 3800 satırdan oluşur ama gerçek bir programlama dilini uygular.
-
yoda: bashforth'un yarısı kadar boyuttadır ama tam bir yorumlayıcı ve derleyici uygular.
-
vegardit/bash-funk: Toplam 27K LoC (24K SLoC) büyüklüğünde bir Bash kütüphanesi.
-
Relax-and-Recover: 35K LoC (24K SLoC). Yedekleme ve geri yükleme aracı.
-
abcde / A Better CD Encoder: CD rip işlemleri için kullanılır ve yaklaşık 5.5k LoC'den oluşur.
-
thc-segfault: 3.3K LoC. Ağırlıklı olarak Bash ile kurulmuş bir pubnix sunucusu.
-
ffmpeg/configure: 8.4K LoC. FFmpeg'in yapılandırma betiği olup elle yazılmıştır.
-
ffhevc: 4k LoC. FFmpeg ve libx265 kullanarak HEVC videoya kodlama yapmak için tamamen elle yazılmış bir Bash sarmalayıcı betiği.
-
ffx264: 3.9k LoC. FFmpeg ve libx264 kullanarak H.264/AVC videoya kodlama yapmak için tamamen elle yazılmış bir Bash sarmalayıcı betiği.
-
h264enc: 9.2k LoC. MEncoder kullanarak H.264/AVC videoya kodlama yapmak için tamamen elle yazılmış bir Bash sarmalayıcı betiği.
-
bashtop: 5.3k LoC. Kaynak izleyici.
-
halcyon: 6.6k LoC. Haskell uygulama kurulum sistemi.
-
winetricks: 22K satırlık shell betiği. Wine üzerinde çeşitli Windows programlarını kurar.
-
wordshell: Yaklaşık 7k satır kod. Komut satırından birden fazla WordPress sitesini yönetir.
-
BaCon: Yaklaşık 10k satır kod. BASIC ile yazılmış programları C'ye dönüştürür.
-
-
Shell benzeri diller / DSL
-
modernish: Shell ile yazılmış taşınabilir bir shell lehçesi.
-
bats: Test yazımı için bir DSL. bash kodu üretir.
-
bashible: bash içinde Ansible benzeri bir DSL.
-
clash: Modern POSIX shell ile uyumlu nesne yönelimli bir framework.
-
bash Infinity: bash için standart kütüphane ve boilerplate framework.
-
-
Küçük programlar
-
Alpine, Aboriginal, Debian scripts: Blog yazısına bakın.
-
Completion scripts: Büyüktür ama çoğu zaman tekrar içerir.
-
_git Zsh completion: 8.3k satır kod.
-
git-completion.bash: Docker completion.
-
dyne/Tomb: Yaklaşık 3500 satırlık zsh betiği.
-
Basalt: Tamamen saf Bash ile yazılmış tam özellikli bir paket yöneticisi (yaklaşık 2021). Yalnızca birkaç bin satır olsa da şimdiden zengin bir ekosisteme (15'ten fazla uygulama/kütüphane) sahiptir.
-
1 yorum
Hacker News görüşleri
Sony'de 25 yıl önce, çok yavaş çalışan ve sık sık çöken bir sipariş yönetim sistemini iyileştirme projesine atanmıştı.
Enrust CA ve dizin kurulum programını yazdı; bu program zamanla tüm Unix'lerde çalışacak şekilde gelişti.
Lil adlı betik dilinin yorumlayıcısını bash ile yazmaya çalıştı, ancak kayan nokta işlemlerinin zorluğu ve sınırlı dizi desteği nedeniyle AWK'yi seçti.
Bash scriptleri karmaşık programlar yazmak için uygun değil.
rkhunterscripti iyi yazılmış ve bilgi açısından zengin.Geçmişte kullanılan en büyük shell programı
abcdeidi; yaklaşık 5500 satır koddan oluşuyordu.FreeBSD Update istemcisi yaklaşık 3600 satır
shkodundan oluşuyor.Shell, kullanılabilirliği garanti edilen tek araç olabilir; ancak büyük shell uygulamaları yazarken bunu yeniden düşünmek gerekiyor.
acme.shscripti 7.1K satır uzunluğunda ve Lets Encrypt'ten sertifika almak ve yenilemek için kullanılıyor.mod_pagespeediçinde shell scriptleri kullanılarak sistem testleri yapıldı, ancak Python'a geçmek daha iyi olurdu.